[완료] pthread_cancel 사용시에 주의할만한 점이라거나 그런게 있는지요?

muzie의 이미지

일단 락걸고 죽어버릴 쓰레드라거나 공유변수에 접근하는 그런 위험은 없는데에서 쓴다고 가정할때
(굳이 락걸고 시그널 받고 락풀고 이런일 할 필요가 없는 상태..)
pthread_cancel의 사용이 안전하다고 할 수 있나요?

분명히 어디선가 pthread_cancel은 왠만하면 쓰지 않는게 좋다는 글을 읽은것 같은데,
(사실 검색 전까지 pthread_cancel은 deprecated 되었다고 생각하고 있었습니다; 도대체 왜;;)
다시 검색해보니 찾을수가 없어서 질문드립니다;

bushi의 이미지

man pthread_setcancelstate
man pthread_cleanup_push
man pthread_cleanup_pop

프로그래머가 허덕거리면 뭘 써도 항상 위험합니다.
이 경우라면, 어지간하면 thread 는 피하는게 좋죠.

OTL

muzie의 이미지

핫핫;; 맨페이지는 훑어보고 왔습니다.
단지 본문에서도 언급했지만 무슨 일인지 deprecated 된거라 기억하고 있어서 -_-;;

생성된 쓰레드에서는 메모리 관련되서 정리해야할 일들이 없어서 cleanup method는 필요 없을 것 같습니다.

답변은, 쓰면 안될만큼 문제가 있는놈은 아니라는 얘기로 이해하겠습니다.
감사합니다. :)