이 튜토리얼에서는 C/C++의 스레드 함수를 이해하는 프로그램에 대해 설명합니다.
스레드 함수는 사용자가 동시에 실행을 위해 서로 의존하거나 독립적일 수 있는 동시 함수를 구현할 수 있도록 합니다.
예시
#include <pthread.h> #include <stdio.h> #include <stdlib.h> void* func(void* arg){ //detaching the current thread pthread_detach(pthread_self()); printf("Inside the thread\n"); pthread_exit(NULL); } void fun(){ pthread_t ptid; //creating a new thread pthread_create(&ptid, NULL, &func, NULL); printf("This line may be printed before thread terminates\n"); if(pthread_equal(ptid, pthread_self()) printf("Threads are equal\n"); else printf("Threads are not equal\n"); //waiting for the created thread to terminate pthread_join(ptid, NULL); printf("This line will be printed" " after thread ends\n"); pthread_exit(NULL); } int main(){ fun(); return 0; }
출력
This line may be printed before thread terminates Threads are not equal Inside the thread This line will be printed after thread ends