More cleanup

reviewable/pr10712/r1
Craig Tiller 8 years ago
parent 4818150728
commit 35f27cd457
  1. 19
      src/cpp/thread_manager/thread_manager.cc
  2. 4
      src/cpp/thread_manager/thread_manager.h

@ -109,22 +109,13 @@ void ThreadManager::CleanupCompletedThreads() {
}
void ThreadManager::Initialize() {
for (int i = 0; i < min_pollers_; i++) {
MaybeCreatePoller();
{
std::unique_lock<std::mutex> lock(mu_);
num_pollers_ = min_pollers_;
num_threads_ = min_pollers_;
}
}
// Create a new poller if the current number of pollers i.e num_pollers_ (i.e
// threads currently blocked in PollForWork()) is below the threshold (i.e
// min_pollers_) and the total number of threads is below the maximum threshold
void ThreadManager::MaybeCreatePoller() {
std::unique_lock<std::mutex> lock(mu_);
if (!shutdown_ && num_pollers_ < min_pollers_) {
num_pollers_++;
num_threads_++;
lock.unlock();
for (int i = 0; i < min_pollers_; i++) {
// Create a new thread (which ends up calling the MainWorkLoop() function
new WorkerThread(this);
}

@ -122,10 +122,6 @@ class ThreadManager {
// The main funtion in ThreadManager
void MainWorkLoop();
// Create a new poller if the number of current pollers is less than the
// minimum number of pollers needed (i.e min_pollers).
void MaybeCreatePoller();
void MarkAsCompleted(WorkerThread* thd);
void CleanupCompletedThreads();

Loading…
Cancel
Save