マルチプロセス - 3D プリント ソフトウェア Printrun は、Python が最も苦手とするマルチスレッド方式を使用しているのはなぜですか?
天蓬老师
天蓬老师 2017-06-12 09:23:41
0
1
871

私は最近 3D プリンター プロジェクトに携わりました。コードは 2 つあり、1 つはオープン ソースの Python printrun、もう 1 つはクローズ ソースの C です。どちらもマルチスレッドを使用します。このうちCはオープンソースのmlibを使って実装しているのは理解できます。

Cコードを見る限り、各コントローラはスレッドに対応して位置、温度、ノズルなどを制御します。最下層は、同じ USB/シリアル ポート/CAN バスを介して実装されます。

printrun がマルチスレッドを使用して C コードのような複数のコントローラー スレッドを実装しているのか、それとも GUI とシリアル ポート間のマルチスレッドなのかをまだ確認中です。設計者は、Python の GIL がスレッドのパフォーマンスに影響を与えることを心配していませんか?

さらに、2 つのオプションがあります:

  1. C コードを、RTOS、RT-Linux、およびその他の同様のプラットフォームに基づくドライバーに移植します。

  2. Python をマルチプロセスに変更し、各シリアル ポートは asynio の非同期メソッドを使用してイベントを処理します。

そのような経験をした学生がその経験を共有できることを願っています。

天蓬老师
天蓬老师

欢迎选择我的课程,让我们一起见证您的进步~~

全員に返信(1)
扔个三星炸死你

IO を多用するアプリケーションでは GIL について心配する必要はありません

いいねを押す +0
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート