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

私は最近 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
    最新のダウンロード
    詳細>
    ウェブエフェクト
    公式サイト
    サイト素材
    フロントエンドテンプレート
    私たちについて 免責事項 Sitemap
    PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!