I create boost::thread object with a new operator and continue without waiting this thread to finish its work:
boost::thread
new
void do_work() {
You should take a look at thread interruption.
This article is good also.
http://www.boost.org/doc/libs/1_38_0/doc/html/thread/thread_management.html