[ 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알고 계시거나 직접 구현해주실 분? |