시작 함수 정의
pthread 시작 함수는 void*를 받고 void*를 반환하는 형태를 맞춥니다.
시작 루틴pthread_create는 새 스레드가 실행할 함수와 하나의 void 포인터 인자를 받습니다. 이 인자가 언제까지 살아 있는지, 반환값을 누가 회수하는지, join 또는 detach를 어떻게 선택하는지가 기본 안전성을 좌우합니다.
pthread 시작 함수는 void*를 받고 void*를 반환하는 형태를 맞춥니다.
시작 루틴스택 지역 변수 주소를 넘길 때는 부모 함수가 먼저 끝나지 않는지 특히 조심합니다.
lifetime여러 스레드가 같은 구조체를 바꾸면 mutex로 임계구역을 감쌉니다.
mutexjoin은 종료를 기다리고 반환값을 회수하며, detach는 OS가 종료 자원을 자동 정리하게 합니다.
joinpthread_t tid;
pthread_create(&tid, NULL, worker, &arg);
pthread_join(tid, NULL);