void named_worker_thread::run()
{
    scope_guard notify_exception(boost::bind(&named_worker_thread::died_unexpect,this));
    while(execute_task()) {}
    notify_exception.disable();
    //printf("named thread end in normal way.\n");
}
	  /*! Executes pool's tasks sequentially.
	  */
	  void run() {
		  scope_guard notify_exception(bind(&worker_thread::died_unexpectedly, this));

		  while(m_pool->execute_task()) {}

		  notify_exception.disable();
		  m_pool->worker_destructed(this->shared_from_this());
	  }