Estoy leyendo datos de múltiples puertos serie. En este momento estoy usando un controlador de señal personalizado (al configurar sa_handler) para comparar y activar subprocesos según la información del descriptor de archivo. Estaba buscando una salida para tener subprocesos individuales con manejadores de señal únicos, en este sentido, descubrí que se debe utilizar la llamada al sistema seleccionada.Seleccionar() llamada al sistema en hilos?
Ahora he siguientes preguntas:
- Si estoy usando un hilo (Qt), entonces ¿Dónde pongo el selecto llamada al sistema para supervisar el puerto serie?
- ¿Es seguro el hilo de la llamada al sistema de selección?
- ¿Es una CPU intensiva porque hay muchas cosas que suceden en mi aplicación, incluida la actualización de la GUI?
Por favor, no importa, si encuentra estas preguntas ridículas. Nunca he usado ese mecanismo para la comunicación serial.
Información de Gud !! Una pregunta ... ¿Cómo sabe el hilo que debe activarse si el socket fd está listo para realizar una operación de lectura/escritura? ¿Kernel interfiere con el hilo? –
@SumitTrehan El kernel activa el hilo ya que pone el hilo en estado ejecutable, es decir, el hilo se ejecutará tan pronto como tenga tiempo de CPU. – Medicine