Boost logo

Boost Users :

From: Jonathan Franklin (franklin.jonathan_at_[hidden])
Date: 2008-03-17 11:57:44


On Mon, Mar 17, 2008 at 9:17 AM, Hal Vaughan <hal_at_[hidden]>
wrote:

> So when I did just a loop in a routine that printed numbers 1-10 (or, when
> I
> experimented, 1-1000), and thread 1 always finished completely before
> thread 2 could start, is that the same? Is there any way I can get the
> two
> threads to run concurrently?

Either give the threads more work to do (print *all* integers), or sleep for
a second between each int.

> ... I was hoping there might be a way, in C++, to spin off
> this listener thread, let it keep listening and processing the data, and
> have it stay in the background so other threads can continue.

You can do this in C++ w/ practically any threading library.

> So is there no way to create a thread and not have it take up all the CPU
> time until it's done without using SMP?

Throw in a periodic nanosleep (or whatever) call if the worker thread is
doing too much work. This will yield the processor to another thread or
process.

Jon



Boost-users list run by williamkempf at hotmail.com, kalb at libertysoft.com, bjorn.karlsson at readsoft.com, gregod at cs.rpi.edu, wekempf at cox.net