|
|
@ -41,17 +41,14 @@ |
|
|
|
namespace grpc { |
|
|
|
namespace grpc { |
|
|
|
|
|
|
|
|
|
|
|
ThreadManager::WorkerThread::WorkerThread(ThreadManager* thd_mgr) |
|
|
|
ThreadManager::WorkerThread::WorkerThread(ThreadManager* thd_mgr) |
|
|
|
: thd_mgr_(thd_mgr), |
|
|
|
: thd_mgr_(thd_mgr), thd_(&ThreadManager::WorkerThread::Run, this) {} |
|
|
|
thd_(&ThreadManager::WorkerThread::Run, this) {} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
void ThreadManager::WorkerThread::Run() { |
|
|
|
void ThreadManager::WorkerThread::Run() { |
|
|
|
thd_mgr_->MainWorkLoop(); |
|
|
|
thd_mgr_->MainWorkLoop(); |
|
|
|
thd_mgr_->MarkAsCompleted(this); |
|
|
|
thd_mgr_->MarkAsCompleted(this); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
ThreadManager::WorkerThread::~WorkerThread() { |
|
|
|
ThreadManager::WorkerThread::~WorkerThread() { thd_.join(); } |
|
|
|
thd_.join(); |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ThreadManager::ThreadManager(int min_pollers, int max_pollers) |
|
|
|
ThreadManager::ThreadManager(int min_pollers, int max_pollers) |
|
|
|
: shutdown_(false), |
|
|
|
: shutdown_(false), |
|
|
|