Multi-processus - Pourquoi le logiciel d'impression 3D Printrun utilise-t-il la méthode multi-threading pour laquelle Python est le moins bon ?
天蓬老师
天蓬老师 2017-06-12 09:23:41
0
1
801

Je suis récemment tombé sur un projet d'imprimante 3D. Il existe deux codes, l'un est un printrun Python open source et l'autre est un C++ open source, qui utilisent tous deux le multithreading. C++ utilise le mlib open source pour l'implémenter, ce que je peux comprendre.

En ce qui concerne le code C++, chaque contrôleur contrôle la position, la température, la buse, etc., correspondant à un thread. La couche inférieure est mise en œuvre via le même port USB/série/bus CAN.

Je vérifie toujours si printrun utilise le multi-threading pour implémenter plusieurs threads de contrôleur comme le code C++, ou s'il s'agit simplement du multi-threading entre l'interface graphique et le port série. Les concepteurs ne s'inquiètent-ils pas du fait que le GIL de Python affecte les performances des threads ?

De plus, j'ai deux options :

  1. Portez le code C++ vers un pilote basé sur RTOS, ou RT-Linux et d'autres plates-formes similaires.

  2. Changez Python en multi-processus et chaque port série utilise la méthode asynchrone d'asynio pour gérer les événements.

J'espère que les étudiants qui ont vécu une telle expérience pourront partager leur expérience.

天蓬老师
天蓬老师

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

répondre à tous(1)
扔个三星炸死你

Pas besoin de vous soucier du GIL pour les applications intensives en io

Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!