Index: base/task_scheduler/task_scheduler.cc |
diff --git a/base/task_scheduler/task_scheduler.cc b/base/task_scheduler/task_scheduler.cc |
index 00ca4f15ce9c12b8f8f3331c314cdd7418bd6028..5c993b5fc40becb2ebeb297ce5c392d69cc73501 100644 |
--- a/base/task_scheduler/task_scheduler.cc |
+++ b/base/task_scheduler/task_scheduler.cc |
@@ -4,8 +4,11 @@ |
#include "base/task_scheduler/task_scheduler.h" |
+#include <algorithm> |
+ |
#include "base/bind.h" |
#include "base/logging.h" |
+#include "base/sys_info.h" |
#include "base/task_scheduler/scheduler_worker_pool_params.h" |
#include "base/task_scheduler/task_scheduler_impl.h" |
#include "base/threading/platform_thread.h" |
@@ -21,11 +24,13 @@ TaskScheduler* g_task_scheduler = nullptr; |
} // namespace |
// static |
-void TaskScheduler::CreateAndSetSimpleTaskScheduler(int max_threads) { |
+void TaskScheduler::CreateAndSetSimpleTaskScheduler(const std::string& name) { |
+ constexpr int kMinNumThreads = 1; |
std::vector<SchedulerWorkerPoolParams> worker_pool_params_vector; |
worker_pool_params_vector.emplace_back( |
- "Simple", ThreadPriority::NORMAL, |
- SchedulerWorkerPoolParams::StandbyThreadPolicy::LAZY, max_threads, |
+ name, ThreadPriority::NORMAL, |
+ SchedulerWorkerPoolParams::StandbyThreadPolicy::LAZY, |
+ std::max(kMinNumThreads, base::SysInfo::NumberOfProcessors()), |
TimeDelta::FromSeconds(30)); |
CreateAndSetDefaultTaskScheduler( |
worker_pool_params_vector, |