Multiprozess – Warum verwendet die 3D-Drucksoftware Printrun die Multithreading-Methode, in der Python am wenigsten gut ist?
天蓬老师
天蓬老师 2017-06-12 09:23:41
0
1
791

Ich bin kürzlich auf ein 3D-Druckerprojekt gestoßen. Es gibt zwei Codes, einen Open-Source-Python-Printrun und einen Closed-Source-C++, die beide Multithreading verwenden. C++ verwendet zur Implementierung die Open-Source-MLIB, was ich verstehen kann.

Was den C++-Code betrifft, steuert jeder Controller Position, Temperatur, Düse usw. entsprechend einem Thread. Die unterste Ebene wird über denselben USB-/seriellen Port-/CAN-Bus implementiert.

Ich überprüfe immer noch, ob printrun Multithreading verwendet, um mehrere Controller-Threads wie C++-Code zu implementieren, oder ob es sich nur um Multithreading zwischen der GUI und dem seriellen Port handelt. Machen sich Designer keine Sorgen darüber, dass Pythons GIL die Thread-Leistung beeinträchtigt?

Außerdem habe ich zwei Möglichkeiten:

  1. Portieren Sie den C++-Code auf einen Treiber, der auf RTOS oder RT-Linux und anderen ähnlichen Plattformen basiert.

  2. Ändern Sie Python auf Multiprozess, und jeder serielle Port verwendet die asynchrone Methode von Asynio, um Ereignisse zu verarbeiten.

Ich hoffe, dass Studierende, die solche Erfahrungen gemacht haben, ihre Erfahrungen teilen können.

天蓬老师
天蓬老师

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

Antworte allen(1)
扔个三星炸死你

io密集型应用不用担心GIL

Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!