HI Christian:
thank you for you reply. I have found the problem, it is very simple. That is because I use join before I start next thread. So.......:P


On Mon, Jun 7, 2010 at 5:27 AM, Christian Henning <chhenning@gmail.com> wrote:
Hi there,

> using bind, like
> boost::thread thrd(boost::bind(&helloworld, "Bob"));
> thrd.join();

I prefer bind.

> The second thread will blocked by
> the first thread. If the first thread never exit, the second thread never
> run. It is a very funny problem. But I really do not know what happen. Does
> anyone know about this topic?

Please provide a code sample that shows your problems. Also, make sure
you create the two threads first before you you call any join().

Since you are calling your thread function helloworld, I suspect
you're using the threads to print out some text on the console. Some
systems will provide a basic locking scheme when several threads
accessing stdout file. Use an endless loop in your thread function and
you'll see them running concurrently.

Regards,
Christian
_______________________________________________
Boost-users mailing list
Boost-users@lists.boost.org
http://lists.boost.org/mailman/listinfo.cgi/boost-users



--
With regards.
Coofucoo Zhang