pthread_exit 예제

기본 프로그램의 끝에 pthread_exit를 사용 해야 합니다. 그렇지 않으면 종료하면 실행 중인 모든 스레드가 종료됩니다. 태그가 지정된 대로: pthread_cancel 예제, pthread_create 예제, pthread_exit 예제, pthread_join 예제이 시리즈의 파트 II에서 설명한 것과 동일한 예제를 취하는 경우 : 스레드가 종료된 후 스레드의 로컬(자동) 변수에 대한 액세스 결과는 다음과 같습니다. 정의. 따라서 종료 스레드의 로컬 변수에 대 한 참조는 pthread_exit() value_ptr 매개 변수 값에 대 한 사용 하지 않아야 합니다. pthread_exit()에 대한 암시적 호출은 main()이 처음 호출된 스레드가 아닌 스레드가 해당 스레드를 만드는 데 사용된 시작 루틴에서 반환될 때 이루어집니다. 함수의 반환 값은 스레드의 종료 상태로 작동합니다. 따라서 이 함수는 이 함수를 호출하는 스레드에서 반환되는 하나의 인수만 허용합니다. 이 반환 값은 이 스레드가 종료되기를 기다리는 상위 스레드에서 액세스합니다. pthread_exit() 함수에 의해 종료된 스레드의 반환 값은 위에서 설명한 pthread_join의 두 번째 인수에서 액세스할 수 있습니다. pthread 라이브러리를 사용하는 더 많은 예제는 여기에서 찾을 수 있습니다.

pthread_exit()의 동작은 pthread_exit()에 대한 암시적 또는 명시적 호출의 결과로 호출된 취소 정리 처리기 또는 소멸자 함수에서 호출된 경우 정의되지 않습니다. 위에서 설명한 함수를 사용하는 경우 예를 들어 보겠습니다. 프로토타입은 다음과 같습니다: 다음으로 pthread_exit 호출을 기본 프로그램에 다시 추가하지만 PrintHello 루틴에서 제거합니다. 또한 두 번째 printf 호출 직전에 기본 루틴에 절전 절절 호출을 추가하고 PrintHello 루틴에서 제거합니다(이제 주 스레드가 마지막으로 완료됨). hello 실행 을 다시 컴파일하고 실행합니다. 잘 작성하고 잘 설명했다. (비록 몇 가지 오타 보정이 필요) 그것은 너무 제대로 스레드를 사용하는 방법을 알고 좋은 예가 모든 컴퓨터 과학 및 엔지니어링 학생 레퍼토리의 일부가되어야한다. 이 자습서는 POSIX(이식 가능한 운영 체제 인터페이스) 스레드 또는 pthreads를 사용하여 다중 스레드 프로그래밍에 익숙해지도록 돕기 위한 시도입니다. 이 자습서에서는 pthread 라이브러리에서 정의한 다양한 도구를 설명하고, 이를 사용하는 방법을 보여 주며, 실제 프로그래밍 문제를 해결하기 위해 이러한 도구를 사용하는 예제를 제공합니다.

전제 조건: 예제와 함께 C의 멀티스레딩, pthread_self()는 이전 장에서 프로세스에 대해 설명했습니다. 우리는 UNIX 프로세스의 환경, 프로세스 간의 관계 및 프로세스 제어 방법에 대해 배웠습니다. 우리는 관련 프로세스 간에 제한된 양의 공유가 발생할 수 있음을 보았습니다.

Aquesta entrada ha esta publicada en General. Afegeix a les adreces d'interès l'enllaç permanent.