From: "hlh771
" How to stop(or cancel) a thread? Suppose I have a main thread and a worker thread, the worker thread does something looply,and when
--- In Boost-Users@yahoogroups.com, William E. Kempf
main thread get a message indicating the process should exit, I want stop the worker thread,how to do that?I have read other thread library,their thread class supply a method called stop or cancel which stops the thread. Their Implementation is:the thread class has a data member indicating whether the thread should stop,and the thread function looply check the data member whether the thread should stop.Generally the data member's type is a bool or Event. Is it the best way to stop the thread? How the boost to deal with this? Thanks in advance.
Today you should use a flag and a condition/mutex combination. Direct support for cancellation is being provided in a future release.
William E. Kempf wekempf@c... Thanks.I'm not very good at multithread programming,but I like boost.threads. How to use a flag and a condition/mutex combination to cancel a thread?Why use condition?Could you show me a simple example? Expect your answer.