Boost logo

Boost Users :

From: D Garvey (lists.drrngrvy_at_[hidden])
Date: 2006-12-13 08:36:55


On 12/12/06, Gabriel Ki <gabeki_corp_at_[hidden]> wrote:
>
> Hi,
>
> I am just trying the boost threads example from the link.
>
> #include <boost/thread/thread.hpp>
> #include <boost/thread/mutex.hpp>
> #include <boost/thread/tss.hpp>
> #include <iostream>
>
> boost::mutex io_mutex;
> boost::thread_specific_ptr<int> ptr;
>
> struct count
> {
> count(int id) : id(id) { }
>
> void operator()()
> {
> if (ptr.get() == 0)
> ptr.reset(new int(0));
>
> for (int i = 0; i < 10; ++i)
> {
> (*ptr)++;
> boost::mutex::scoped_lock
> lock(io_mutex);
> std::cout << id << ": "
> << *ptr << std::endl;
> }
> }
>
> int id;
> };
>
> int main(int argc, char*
> argv[])
> {
> boost::thread thrd1(count(1));
> boost::thread thrd2(count(2));
> thrd1.join();
> thrd2.join();
> return 0;
> }
>
> There are two ways to work this, as far as I know:

[...]
count c1(1);
boost::thread thrd1( &c1 );
boost::thread thrd2( boost::bind( &count, 2 ) ); /* I think this works; it
would if count was a function call */
[...]

It's not everything, but I HTH,
Darren



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