Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(2390)

Unified Diff: base/task_scheduler/scheduler_single_thread_task_runner_manager.h

Issue 2917433002: Followup to https://codereview.chromium.org/2902753003/ (Closed)
Patch Set: Created 3 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: base/task_scheduler/scheduler_single_thread_task_runner_manager.h
diff --git a/base/task_scheduler/scheduler_single_thread_task_runner_manager.h b/base/task_scheduler/scheduler_single_thread_task_runner_manager.h
index c6cd8ed3f4ab96e19fc8ca26c43d7d0825509c4b..1b4e51ad3fe4d072bc20e68a4f3f9dfc97c2f7ca 100644
--- a/base/task_scheduler/scheduler_single_thread_task_runner_manager.h
+++ b/base/task_scheduler/scheduler_single_thread_task_runner_manager.h
@@ -40,9 +40,10 @@ class SchedulerWorkerDelegate;
// Manages a pool of threads which are each associated with one or more
// SingleThreadTaskRunners.
//
-// SingleThreadTaskRunners using SingleThreadTaskRunnerThreadMode::SHARED, are
+// SingleThreadTaskRunners using SingleThreadTaskRunnerThreadMode::SHARED are
// backed by shared SchedulerWorkers for each COM+task environment combination.
-// These workers are only reclaimed during JoinForTesting().
+// These workers are lazily instantiated and then only reclaimed during
+// JoinForTesting()
//
// No threads are created (and hence no tasks can run) before Start() is called.
//
@@ -61,9 +62,7 @@ class BASE_EXPORT SchedulerSingleThreadTaskRunnerManager final {
// Creates a SingleThreadTaskRunner which runs tasks with |traits| on a thread
// named "TaskSchedulerSingleThread[Shared]" + |name| +
// kEnvironmentParams[GetEnvironmentIndexForTraits(traits)].name_suffix +
- // index. "Shared" will be in the thread name when |thread_mode| is SHARED. If
- // |thread_mode| is DEDICATED, a thread will be dedicated to the returned task
- // runner, otherwise it could be shared with other SingleThreadTaskRunners.
+ // index.
scoped_refptr<SingleThreadTaskRunner> CreateSingleThreadTaskRunnerWithTraits(
const std::string& name,
const TaskTraits& traits,
@@ -73,9 +72,7 @@ class BASE_EXPORT SchedulerSingleThreadTaskRunnerManager final {
// Creates a SingleThreadTaskRunner which runs tasks with |traits| on a COM
// STA thread named "TaskSchedulerSingleThreadCOMSTA[Shared]" + |name| +
// kEnvironmentParams[GetEnvironmentIndexForTraits(traits)].name_suffix +
- // index. "Shared" will be in the thread name when |thread_mode| is SHARED. If
- // |thread_mode| is DEDICATED, a thread will be dedicated to the returned task
- // runner, otherwise it could be shared with other SingleThreadTaskRunners.
+ // index.
scoped_refptr<SingleThreadTaskRunner> CreateCOMSTATaskRunnerWithTraits(
const std::string& name,
const TaskTraits& traits,
@@ -122,10 +119,10 @@ class BASE_EXPORT SchedulerSingleThreadTaskRunnerManager final {
std::vector<scoped_refptr<SchedulerWorker>> workers_;
int next_worker_id_ = 0;
- SchedulerWorker* shared_scheduler_workers_[4];
+ SchedulerWorker* shared_scheduler_workers_[ENVIRONMENT_COUNT] = {};
#if defined(OS_WIN)
- SchedulerWorker* shared_com_scheduler_workers_[4];
+ SchedulerWorker* shared_com_scheduler_workers_[ENVIRONMENT_COUNT] = {};
#endif // defined(OS_WIN)
// Set to true when Start() is called.
« no previous file with comments | « base/task_scheduler/environment_config.h ('k') | base/task_scheduler/scheduler_single_thread_task_runner_manager.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698