Chromium Code Reviews| Index: base/task_scheduler/scheduler_thread_pool_impl.h |
| diff --git a/base/task_scheduler/scheduler_thread_pool_impl.h b/base/task_scheduler/scheduler_thread_pool_impl.h |
| index 06812c79cae28d4419cf6425d0aca94f60a32f59..b0f5f5871425fb9f742464ccee7396cdfceadd6d 100644 |
| --- a/base/task_scheduler/scheduler_thread_pool_impl.h |
| +++ b/base/task_scheduler/scheduler_thread_pool_impl.h |
| @@ -8,6 +8,7 @@ |
| #include <stddef.h> |
| #include <memory> |
| +#include <string> |
| #include <vector> |
| #include "base/base_export.h" |
| @@ -15,6 +16,7 @@ |
| #include "base/logging.h" |
| #include "base/macros.h" |
| #include "base/memory/ref_counted.h" |
| +#include "base/strings/string_piece.h" |
| #include "base/synchronization/condition_variable.h" |
| #include "base/task_runner.h" |
| #include "base/task_scheduler/priority_queue.h" |
| @@ -50,15 +52,16 @@ class BASE_EXPORT SchedulerThreadPoolImpl : public SchedulerThreadPool { |
| // destroyed after JoinForTesting() has returned. |
| ~SchedulerThreadPoolImpl() override; |
| - // Creates a SchedulerThreadPool with up to |max_threads| threads of priority |
| - // |thread_priority|. |io_restriction| indicates whether Tasks on the |
| - // constructed thread pool are allowed to make I/O calls. |
| + // Creates a SchedulerThreadPool labeled |name_| with up to |max_threads| |
|
fdoray
2016/05/03 19:01:50
name
^
gab
2016/05/04 18:11:37
Done.
|
| + // threads of priority |thread_priority|. |io_restriction| indicates whether |
| + // Tasks on the constructed thread pool are allowed to make I/O calls. |
| // |re_enqueue_sequence_callback| will be invoked after a thread of this |
| // thread pool tries to run a Task. |task_tracker| is used to handle shutdown |
| // behavior of Tasks. |delayed_task_manager| handles Tasks posted with a |
| // delay. Returns nullptr on failure to create a thread pool with at least one |
| // thread. |
| static std::unique_ptr<SchedulerThreadPoolImpl> Create( |
| + StringPiece name, |
| ThreadPriority thread_priority, |
| size_t max_threads, |
| IORestriction io_restriction, |
| @@ -89,7 +92,8 @@ class BASE_EXPORT SchedulerThreadPoolImpl : public SchedulerThreadPool { |
| private: |
| class SchedulerWorkerThreadDelegateImpl; |
| - SchedulerThreadPoolImpl(IORestriction io_restriction, |
| + SchedulerThreadPoolImpl(StringPiece name, |
| + IORestriction io_restriction, |
| TaskTracker* task_tracker, |
| DelayedTaskManager* delayed_task_manager); |
| @@ -107,6 +111,9 @@ class BASE_EXPORT SchedulerThreadPoolImpl : public SchedulerThreadPool { |
| // Removes |worker_thread| from |idle_worker_threads_stack_|. |
| void RemoveFromIdleWorkerThreadsStack(SchedulerWorkerThread* worker_thread); |
| + // The name of this thread pool, used to label its worker threads. |
| + const std::string name_; |
| + |
| // All worker threads owned by this thread pool. Only modified during |
| // initialization of the thread pool. |
| std::vector<std::unique_ptr<SchedulerWorkerThread>> worker_threads_; |