CnUnix

[알림판목록 I] [알림판목록 II] [글목록][이 전][다 음]
[ CnUnix ] in KIDS
글 쓴 이(By): 구르미 (구르미)
날 짜 (Date): 2005년 3월 31일 목요일 오전 01시 10분 13초
제 목(Title): Re: pthread에서 suspend, continue



일반적인 thread의 suspend/resume과는 다른 걸 만드신거 같은데요.
자발적으로 멈추는건 원래 문제가 안되는거 아닌가요? 만드신 코드는
thread를 이용해서 일종의 coroutine형태나 그냥 producer/consumer문제인거
같은데, thread suspend/resume기능이 필요한가요?

일반적인 의미의 suspend/resume은 안전하지 않기 때문에, 적당한 protocol을
정한 다음에 자발적으로 멈추도록 구현하는데, 필요한 경우에는 signal등을
이용해서 멈추도록 강요할 수 있습니다.
                                          
----
맞습니다.

Solaris의 thr_suspend(thread_t tid)같은 경우 signal(아마 SIGLWP였던듯)을
이용하더군요. 
제가 사용하는 코드는 condition variable 의 포인터를 request messsage에 
넣어 보낸 후 자발적으로 suspend하고 message layer thread가 response 
message를 받으면 continue해주는 데 쓰이는 거라서 더 일반적인 기능이 필요가 
없습니다만 정기적으로 process를 checkpointing하는 library같은 걸 
구현할려면 필요하겠죠. 그래서 thread package에 표준으로 추가되었으면 하는 
바람입니다.

혹시 이 기능이 들어있는 Linux Thread Package알고 계시거나 직접 구현해주실 
분?


[알림판목록 I] [알림판목록 II] [글 목록][이 전][다 음]
키 즈 는 열 린 사 람 들 의 모 임 입 니 다.