Berbilang proses - Mengapakah perisian pencetakan 3D Printrun menggunakan kaedah berbilang benang yang Python kurang mahir?
天蓬老师
天蓬老师 2017-06-12 09:23:41
0
1
866

Saya baru-baru ini menjumpai projek pencetak 3D Terdapat dua kod, satu adalah open source Python printrun, dan satu lagi adalah sumber tertutup C++, yang kedua-duanya menggunakan multi-threading. C++ menggunakan mlib sumber terbuka untuk melaksanakannya, yang saya boleh fahami.

Mengenai kod C++, setiap pengawal mengawal kedudukan, suhu, muncung, dll., sepadan dengan benang. Lapisan bawah dilaksanakan melalui USB/port bersiri/bas CAN yang sama.

Saya masih menyemak sama ada printrun menggunakan multi-threading untuk melaksanakan berbilang benang pengawal seperti kod C++, atau adakah ia hanya multi-threading antara GUI dan port bersiri. Tidakkah pereka bimbang tentang GIL Python yang menjejaskan prestasi benang?

Selain itu, saya ada dua pilihan:

  1. Pindahkan kod C++ ke pemacu berdasarkan RTOS, atau RT-Linux dan platform lain yang serupa.

  2. Tukar Python kepada berbilang proses, dan setiap port bersiri menggunakan kaedah tak segerak asynio untuk mengendalikan acara.

Saya harap pelajar yang mempunyai pengalaman sedemikian dapat berkongsi pengalaman mereka.

天蓬老师
天蓬老师

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

membalas semua(1)
扔个三星炸死你

Tidak perlu risau tentang GIL untuk aplikasi intensif io

Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan