国产成人精品亚洲777人妖,欧美日韩精品一区视频,最新亚洲国产,国产乱码精品一区二区亚洲

您的位置:首頁技術(shù)文章
文章詳情頁

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

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

問題描述

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

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

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

此外,我還有兩個選擇:

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

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

希望有過此類經(jīng)驗的同學(xué)們傳授一下經(jīng)驗。

問題解答

回答1:

io密集型應(yīng)用不用擔(dān)心GIL

標(biāo)簽: Python 編程
相關(guān)文章:
主站蜘蛛池模板: 铁岭县| 中西区| 新兴县| 乌拉特前旗| 佛学| 新密市| 渑池县| 金沙县| 嘉义县| 沭阳县| 浦县| 扬州市| 腾冲县| 鹿泉市| 湘西| 玛多县| 碌曲县| 雷波县| 安泽县| 长治县| 林西县| 兴业县| 景谷| 庄浪县| 陵川县| 长汀县| 南澳县| 马鞍山市| 波密县| 朝阳区| 黄骅市| 阜康市| 武城县| 河南省| 湄潭县| 平舆县| 南宁市| 明水县| 通道| 丰城市| 旺苍县|