
Hi all. I have developed some code allowing a thread group of 500 threads to run. However, as soon as the 381st thread is spawned, I get the following runtime error : terminate called after throwing an instance of 'boost::thread_resource_error' what(): boost::thread_resource_error The Boost documentation does not clarify the nature of the error, so I was wondering if anyone can help me out here. The (simple) program code follows. #include <boost/thread/mutex.hpp> #include <boost/thread/thread.hpp> #include <boost/bind.hpp> using namespace std; boost::mutex io_mutex; void foo(int i) { boost::mutex::scoped_lock lock(io_mutex); cout << i << endl; } int main(int argc, char *arvg[]) { boost::thread_group tg; for(int i = 0;i < 500;i++) tg.create_thread(boost::bind(&foo,i)); tg.join_all(); }