Red de conocimiento informático - Problemas con los teléfonos móviles - Programación del proceso de espera

Programación del proceso de espera

La primera pregunta es que ni el proceso ni el hilo se bloquearán. Volverá inmediatamente después de la creación. No es necesario esperar a que funcione el proceso o hilo secundario.

Segunda pregunta

En primer lugar, los procesos y los hilos son diferentes.

En el caso de múltiples procesos, si el proceso padre finaliza primero, el proceso hijo será recibido por el proceso de inicio y se convertirá en un proceso hijo del proceso de inicio, y luego el proceso hijo continuará ejecutándose. hasta que termine. El proceso de inicio es responsable de obtener el estado final de estos procesos secundarios y liberar los recursos del proceso. Si el proceso hijo finaliza primero, entonces el proceso padre debe usar wait o waitpid para obtener el estado final del proceso hijo y liberar los recursos del proceso. De lo contrario, el proceso hijo se convertirá en un proceso inactivo y los recursos del proceso que ocupa no se liberarán. .

En subprocesos múltiples, si el subproceso principal o principal que mencionaste usa retorno o salida al final, o finaliza el procesamiento, entonces todo el proceso finaliza y otros subprocesos secundarios finalizan naturalmente. Si main termina con pthread_exit, solo el hilo principal finaliza y el hilo secundario sigue ejecutándose. De manera similar, si se llama a la salida cuando finaliza el subproceso secundario, todo el proceso incluye el final del subproceso principal. Si se llama a pthread_exit o finaliza normalmente, entonces solo finaliza el subproceso secundario.

Además, si no hay un atributo de separación al final del subproceso secundario, otros subprocesos deben usar pthread_join para obtener el estado final del subproceso y liberar recursos del subproceso, al igual que esperar y esperar en el proceso. .