久久r热视频,国产午夜精品一区二区三区视频,亚洲精品自拍偷拍,欧美日韩精品二区

您的位置:首頁技術文章
文章詳情頁

多進程 - 3D打印軟件Printrun為何使用了Python最不擅長的多線程方式?

瀏覽:160日期:2022-06-29 14:01:05

問題描述

日前接觸到一個3D打印機的項目,有兩種代碼,一種是開源的Python printrun,另外一種是閉源的C++,兩者均使用的多線程方式。其中C++使用了開源的mlib來實現,這我可以理解。

就C++的代碼來看,每種控制器分別控制位置、溫度、噴頭等,對應一個線程。底層通過同一USB/串口/CAN總線來實現的。

我還在查閱printrun使用多線程究竟和C++代碼一樣是實現多個控制器線程,還是只是GUI與串口間的多線程。難道設計者不擔心Python的GIL影響線程的性能?

此外,我還有兩個選擇:

將C++代碼移植到基于RTOS的方式的驅動,或RT-Linux等類似平臺上。

將Python改為多進程,而每個串口采用asynio的異步方式處理事件。

希望有過此類經驗的同學們傳授一下經驗。

問題解答

回答1:

io密集型應用不用擔心GIL

標簽: Python 編程
相關文章:
主站蜘蛛池模板: 砀山县| 朝阳市| 三穗县| 榕江县| 新竹县| 兴隆县| 威宁| 稻城县| 当涂县| 平昌县| 安徽省| 楚雄市| 彭泽县| 青铜峡市| 雅安市| 荣成市| 海口市| 河西区| 长兴县| 龙州县| 图木舒克市| 蒲江县| 洛扎县| 彰化市| 黔西| 比如县| 澄城县| 博客| 翼城县| 库车县| 哈巴河县| 富平县| 雷州市| 淮安市| 滦平县| 蓬安县| 繁昌县| 赫章县| 界首市| 昂仁县| 长海县|