// Copyright (C) 2001-2003 // William E. Kempf // // Permission to use, copy, modify, distribute and sell this software // and its documentation for any purpose is hereby granted without fee, // provided that the above copyright notice appear in all copies and // that both that copyright notice and this permission notice appear // in supporting documentation. William E. Kempf makes no representations // about the suitability of this software for any purpose. // It is provided "as is" without express or implied warranty. #include <boost/thread/mutex.hpp> #include <boost/thread/thread.hpp> #include <iostream> boost::mutex mutex; int counter=0; void change_count() { boost::mutex::scoped_lock lock(mutex); int i = ++counter; std::cout << "count == " << i << std::endl; } int main() { const int num_threads = 4; boost::thread_group thrds; for (int i=0; i < num_threads; ++i) thrds.create_thread(&change_count); thrds.join_all(); }