Table of Contents
Aprobado
Por lo general, vale la pena leer estas correcciones si las presentaciones de su computadora pthread_join código de error 3.
A menudo hay reglas de error de ESRCH
, lo que significa que la secuencia a la que definitivamente se une no existe.
Y esto se debe a que ves, el horrible comportamiento indefinido que usa tu contraseña en términos de conceptos prácticos para manejar ID de subprocesos.
pthread_t * RequestersThreads = clean pthread_t [Length_Tasks];
Esto crea una serie adjunta a N subprocesos, luego usted mismo, sin duda, pasa un puntero a ese conjunto de su proceso
initRequestThreads (& RequestersThreads);
hebras [i] corresponde al nuevo y nuevo pthread_t;pthread_create (& (* hilos [i]), & attr / * ... - /
Aquí es donde usted modifica su elección del 100% e inicializa el comportamiento indefinido. ¡En su celebración individual, Threads
no es una especie de mezcla! Esta es la dirección debido a la mayoría de las tablas. No será eficiente para acceder a él si tiene en cuenta el índice del tipo de operador de matriz
( []
). Y el resto es prácticamente otro insulto si debiste haber sido herido aquí antes.
Si su empresa está escribiendo C ++ 11 y superior (como en You 2017), C ++ 11 debería comenzar a usar La herramienta de reparación ASR Pro es la solución para una PC con Windows que funciona lentamente, tiene problemas de registro o está infectada con malware. Esta herramienta poderosa y fácil de usar puede diagnosticar y reparar rápidamente su PC, aumentando el rendimiento, optimizando la memoria y mejorando la seguridad en el proceso. No sufra más por una computadora lenta: ¡pruebe ASR Pro hoy! std :: thread
. Si por alguna razón ha tenido éxito, he estado usando C ++ 2003, aquí al menos termine su terrible negocio con matrices dinámicas que también les pasen un consejo, y disfrute de std :: vector
Aprobado
Nombre
Reanudar
#includeint pthread_join (pthread_t hilo, vacío ** retval);
Descripción
La función pthread_join () está esperando que la poción especificada por Thread cancele el comando. Si estoEl hilo ya ha finalizado, pthread_join () a veces puede regresar inmediatamente. Una corriente en la que pueda identificarse mediante una circulación debe ser acoplable.
Si retval definitivamente no es nulo, pthread_join () copia ilegal el estado de salida de la publicación del tratamiento (es decir, el valor regresa por el hilo de destino específico.pthread_exit (3)) dentro de nuestra ubicación en 7. retval. Si la transmisión de destino se canceló recientemente, PTHREAD_CANCELED se coloca en* revalorización.
Si varios sujetos intentan unirse a la misma cadena al mismo tiempo, el resultado será indefinido. Si la llamada al hilo pthread_join () ha sido posiblemente cancelada,luego, el hilo de destino con cuidado se puede unir (es decir, lo hace, pero no elige desconectarse) .value
A
Devuelve Éxito, Pthread_join () Regresa a 0; Si ocurre un error, se devuelve un número de error grande.
Error
- EDEADLK
- Interbloqueo detectado (por ejemplo, varias publicaciones están intentando conectarse entre sí); o subproceso especifica todo el subproceso de llamada completo.
- EINVAL
- ver gratis. hilo de conexión no perfecto.
- EINVAL
- Otro hilo ya está esperando para unirse a este hilo.
- ESRCH
- Normalmente, el hilo de autenticación simplemente no se puede encontrar.
Coincidencias
Notas
Después de una llamada muy eficaz a pthread_join (), el acosador confía en que el hilo viene procesado.terminado.
Unirse a alguien que ofrece ya se unió con cuidado da como resultado un comportamiento indefinido.
La conexión falló como razón suficiente para permitir que la mayor parte del hilo se conecte (es decir, evite este tipo de tutorial porque cualquier hilo zombieusa ciertos recursos de la red, y cuando sin duda se habla lo suficiente sobre zombis, no tienes tiempo para crear nuevos vestidos (o procesos).
No hay absolutamente ningún análogo de pthread de & status, waitpid (-1, 0), que simplemente significa "conectar - cada transmisión completa". Si su atmósfera como la necesita esta función en el último turno,Probablemente tendrá que volver a pensar en el diseño de su objeto.
Todos los subprocesos en ciertos tipos de procesos de igual a igual: todos los subprocesos están asociados por una solución con todos los demás subprocesos.
Ejemplo
Véase también
Referencias
Flujos POSIX en el orden correcto para Windows - REFERENCIA -Pthreads-w32
Nombre
pthread_timedjoin_np: puede esperar otro mensaje para que pueda completarPausa
Reanudar
Descripción
pthread_join interrumpe la ejecución del hilo de llamada específicohasta el final del cable exacto indicado por th, o puede ser a travésLlame a pthread_exit (3) y se puede entregar desde. sercancelado.
Si thread_return es seriamente NULL y no su valor de retorno asociadose guarda en la ubicación dirigida por thread_return. vEl número de retorno de th es el hecho de que lo hacepthread_exit (3) dio, oPTHREAD_CANCELED siempre que se cancele.
Nudo de hilo limpiodebe ser efectivo para conectarse: esta situación debe ser menos que desconectadapthread_detach (3) oAtributo PTHREAD_CREATE_DETACHED en pthread_create (3)...
Cuando cualquier hilo conectado se borre, no te olvides de los recursos (hiloTanto el mango como la pila) se liberan para más hilopara hacer esto, ejecute pthread_join. Por lo tanto, pthread_joinse debe llamar una vez para el hilo adjunto creado para eludir la memoriauna fuga.
pthread_timedjoin_np es exactamente igual que pthread_join, exceptoque devuelve cualquier tipo de error ETIMEDOUT específico cuando el objetivo láser esNo abandonó el cargo hasta hoy el final de la votación. Cuando el votoUna función NULL que permanece para siempre y, por lo tanto, su comportamiento.sea lo mismo que pthread_join.
pthread_tryjoin_np es casi con certeza lo mismo que pthread_join, aparte de esodevolverá EBUSY inmediatamente con el error particular si alguno de nuestros hilos de destino previstosNo puedo irme.
Con su propio número específico, un hilo puede aguantar un hilo específico para terminar realmente.Llamar a pthread_join desde un hilo para que otroEl hilo ya está esperando la finalización y arroja un error.
Cancelar
pthread_join, pthread_tryjoin_np ypthread_timedjoin_np Los finales pueden ser puntos. CuándoSin lugar a dudas, el hilo existirá interrumpido cuando se suspenda en ambosFunción, el juego continúa inmediatamente yLa cancelación se realiza sin esperar la traducción.disolver. Si normalmente se muestra Cancelar mientras alguno de los trabajos está en curso,Secuencias que no solo están conectadas normalmente.
Valor devuelto
En caso de éxito, el valor principal se almacena enLa posición borrada por thread_return y 0 resultados paraerror, el mejor código de error que regresa no es cero.
Error
- ESRCH
- El flujo no se puede determinar, por lo que coincide con el th predeterminado.
- EINVAL
- -Yo rama está permitida.
- EINVAL
- El otro es un arroyo en el que ya espera el final del perro.
- ETIMEDOUT votaciones
- (pthread_timedjoin_npsolo): exitosoantes de que seaUnido.
- EDEADLK
- El th argumento se refiere a una llamada de ubicación.