인자 수명 보장
thread 함수가 읽을 구조체가 create 호출 뒤에도 살아 있어야 한다. 반복문 지역 변수 주소 전달은 위험하다.
pthread 코드는 함수 포인터 하나로 끝나지 않는다. thread 함수에 넘기는 인자의 수명과 pthread_join 시점이 안전성을 결정한다.
thread 함수가 읽을 구조체가 create 호출 뒤에도 살아 있어야 한다. 반복문 지역 변수 주소 전달은 위험하다.
join할 thread인지 detach할 thread인지 생성 직후 정책을 정해야 resource leak을 막는다.
여러 pthread가 같은 counter나 queue를 바꾸면 mutex나 atomic이 필요하다.
struct Args { int id; Work* work; };
pthread_create(&tid, nullptr, worker, &args[i]);
pthread_join(tid, nullptr);