Boost C++ Libraries Home Libraries People FAQ More

PrevUpHomeNext

mutex

See also: mutex class reference.

The mutex class locks an internal mutex when it receives a signal, and then forwards the signal. mutex is an instantiator with the Instantiation boost::mutex::scoped_lock and Member boost::mutex.

Table 1.16. mutex class use example

fused

unfused

signals::timed_generator<void (), signals::fused> banger1;
signals::timed_generator<void (), signals::fused> banger2;
signals::mutex<void (), signals::fused> lock;
signals::counter<void (), signals::fused> counter;

banger1 >>= lock >>= counter;
banger2 >>= lock;
banger1.enable(0.5, 5);
banger2.enable(0.5, 5);

while (counter.count() < 10) {}

BOOST_CHECK_EQUAL(counter.count(), 10);
banger1.join();
banger2.join();

signals::timed_generator<void (), signals::unfused> banger1;
signals::timed_generator<void (), signals::unfused> banger2;
signals::mutex<void (), signals::unfused> lock;
signals::counter<void (), signals::unfused> counter;

banger1 >>= lock >>= counter;
banger2 >>= lock;
banger1.enable(0.5, 5);
banger2.enable(0.5, 5);

while (counter.count() < 10) {}

BOOST_CHECK_EQUAL(counter.count(), 10);
banger1.join();
banger2.join();

Copyright © 2007 Stjepan Rajko

PrevUpHomeNext