Thanks!
But I said that the thread wont start because in other class I defined, that
inherits from this "Thread" class.
I implemented the abstract run() method so it just prints a line to the
output:
class Trash : public Thread {
std::string garbage;
public :
Trash(std::string newString){garbage = newString;};
void run(){ std::cout << "RUNNING" << std::endl;};
}
int main(int argc, char** argv) {
Trash myTrash("hello");
myTrash.start();
}
and whenever I run the project (using boost::thread or using
boost::thread_group with the correction you provided) it wont show the
output... "RUNNING".
BUT, if I add m_Thread.join(); it shows that output.
Any idea why?
Thanks!!
On Thu, Mar 4, 2010 at 1:02 PM, Igor R
void start(){m_Thread = new boost::thread( &Thread::run, this ); }; //wont start unless I add m_Thread.join();
The thread is created and started anyway. Join() just tells the *caller* thread to wait until m_Thread finishes.
void start(){g_Thread.create_thread(&Thread::run); };
g_Thread.create_thread(boost::bind(&Thread::run, this)); _______________________________________________ Boost-users mailing list Boost-users@lists.boost.org http://lists.boost.org/mailman/listinfo.cgi/boost-users