Estoy tratando de escribir una clase python utilizando procesamiento paralelo/subprocesamiento para leer dos puertos seriales (/ dev/ttyS1 y/dev/ttyS2). Ambos puertos funcionan a una velocidad en baudios de 19200 y están constantemente activos. Utilicé pySerial para este propósito.Tramas múltiples de Python/procesos múltiples para leer puertos serie
Ambas operaciones de lectura deben ejecutarse de manera continua y concurrente. Me pregunto si debería usar la biblioteca de subprocesos o la biblioteca de subprocesos o la biblioteca de multiprocesamiento. Solo estoy preocupado por el bloqueo de intérprete global que no da una verdadera capacidad de subprocesamiento para operaciones de IO pesadas. Pero si el bloqueo de intérprete global no me afecta, entonces usaré el módulo de subprocesamiento/subproceso. Sin embargo, si lo hace, tendré que realizar una compilación cruzada de las bibliotecas de multiprocesamiento de python porque está en un sistema integrado.
Así que mi código normalmente tendría thread1 o process1 = leyendo ttyS1 y escribiendo en un búfer después de realizar algunas operaciones de cadena en las líneas de lectura. thread2 o process2 = leyendo ttyS2 y escribiendo en otro buffer después de realizar algunas operaciones de cadena en las líneas de lectura. Otras funciones, etc. Estos búferes son utilizados por otras partes en el código.
También, ¿el multiprocesamiento en python requiere múltiples núcleos/cpus?
¡Gracias por leer!
Gracias por la información sobre el lanzamiento de GIL. El mal uso del sistema integrado estará en una CPU de 550 MHz con arquitectura arm5tel. Supongo que solo tengo que hacer una evaluación comparativa con diferentes configuraciones y ver cuánto puedo sacar de ella. ¡También gracias por el video, échale un vistazo! – kal