Ver Mensaje Individual
  #2 (permalink)  
Antiguo 11/06/2016, 02:47
eferion
 
Fecha de Ingreso: octubre-2014
Ubicación: Madrid
Mensajes: 1.212
Antigüedad: 9 años, 7 meses
Puntos: 204
Respuesta: Cambiar una variable desde dentro de un hilo

No es conveniente crear un hilo por cliente salvo que sea para practicar. El motivo es que 1000 clientes implica 1000 hilos y un servidor tendrá 8-16 núcleos, luego los hilos van a estar compitiendo entre sí por el uso de la CPU y el rendimiento se resiente mucho (si el número de usuarios es pequeño puede ser justificable). Suele ser mejor opción crear los sockets como no bloqueantes en el lado del servidor. Se almacenan las conexiones en un vector y el servidor simplemente se dedica a recorrer dicho vector comprobando si algún cliente necesita algo.

Para entornos multihilo debes usar semáforos o mutex (mejor esto segundo) para evitar inconsistencias y condiciones de carrera al acceder a los recursos compartidos. Ahora, también te aviso que hay que ser muy cuidadoso al diseñar un entorno multihilo para evitar abrazos mortales y otros problemas asociados.

C++11 ya incorpora en el estándar la gestión de hilos. Echa un vistazo a la librería thread.

Un saludo
__________________
La ayuda se paga con esfuerzo o con dinero. Si no estás dispuesto a esforzarte y quieres que te hagan los deberes pide presupuesto, al menos así ahorrarás tiempo.