Intenté buscar en Google esto, no pude encontrar una respuesta, busqué aquí, no pude encontrar una respuesta. ¿Alguien ha investigado si es seguro escribir en un objeto Serial() (pyserial) desde el hilo a y hacer lecturas de bloqueo desde el hilo b?pyserial - es posible escribir en el puerto en serie desde el subproceso a, doblo las lecturas desde el subproceso b?
Sé cómo utilizar primitivas de sincronización de subprocesos y estructuras de datos seguros para subprocesos, y de hecho mi forma actual de este programa tiene un hilo dedicado a lectura/escritura en el puerto serie y uso estructuras de datos seguras para la rosca para coordinar actividades en la aplicación.
Mi aplicación se beneficiaría enormemente si pudiera escribir en el puerto serie desde el hilo principal (y nunca leer de él) y leer desde el puerto serie usando lecturas de bloqueo en el segundo hilo (y nunca escribir en él). Si alguien realmente quiere que investigue por qué esto beneficiará a la aplicación, puedo agregar mis razones. En mi opinión, solo habría una instancia de Serial() e incluso mientras el hilo B se encuentra en una lectura de bloqueo en el objeto Serial, el hilo A sería seguro para usar métodos de escritura en el objeto Serial.
¿Alguien sabe si la clase Serial se puede utilizar de esta manera?
EDITAR: Se me ocurre que la respuesta puede depender de la plataforma. Si tiene alguna experiencia con una plataforma como esta, sería bueno saber en qué plataforma estaba trabajando.
EDITAR: Solo ha habido una respuesta, pero si alguien más ha intentado esto, por favor deje una respuesta con su experiencia.
¿Estaba utilizando PySerial? ¿Y en qué plataformas funcionó con éxito? –
Estaba usando PySerial en Windows, pero no puedo imaginar por qué no funcionaría en ninguna plataforma. – TJD
¡Gracias por compartir tu experiencia! –