国产av日韩一区二区三区精品,成人性爱视频在线观看,国产,欧美,日韩,一区,www.成色av久久成人,2222eeee成人天堂

多進程 - 3D打印軟件Printrun為何使用了Python最不擅長的多線程方式?
天蓬老師
天蓬老師 2017-06-12 09:23:41
0
1
969

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

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

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

此外,我還有兩個選擇:

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

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

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

天蓬老師
天蓬老師

歡迎選擇我的課程,讓我們一起見證您的進步~~

全部回復(fù)(1)
扔個三星炸死你

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

最新下載
更多>
網(wǎng)站特效
網(wǎng)站源碼
網(wǎng)站素材
前端模板