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

Unified Diff: base/task_scheduler/scheduler_worker_pool_impl.h

Issue 2749303002: [reference - do not submit] Always create four pools in TaskSchedulerImpl. (Closed)
Patch Set: rebase Created 3 years, 9 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_worker_pool_impl.h
diff --git a/base/task_scheduler/scheduler_worker_pool_impl.h b/base/task_scheduler/scheduler_worker_pool_impl.h
index 0c1fdcd13a2e71506164efb7abc4dff420f295ea..4617df5496ee4318c819008331253721d634e3cf 100644
--- a/base/task_scheduler/scheduler_worker_pool_impl.h
+++ b/base/task_scheduler/scheduler_worker_pool_impl.h
@@ -25,6 +25,7 @@
#include "base/task_scheduler/scheduler_worker_stack.h"
#include "base/task_scheduler/sequence.h"
#include "base/task_scheduler/task.h"
+#include "base/threading/platform_thread.h"
#include "base/time/time.h"
namespace base {
@@ -50,13 +51,18 @@ class BASE_EXPORT SchedulerWorkerPoolImpl : public SchedulerWorkerPool {
// JoinForTesting() has returned.
~SchedulerWorkerPoolImpl() override;
- // Creates a SchedulerWorkerPoolImpl following the |worker_pool_params|
- // specification. |re_enqueue_sequence_callback| will be invoked after a
- // worker of this worker 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 worker pool
- // with at least one thread.
+ // Creates a SchedulerWorkerPoolImpl. |name| is used to label the pool's
+ // threads ("TaskScheduler" + |name| + index) and histograms ("TaskScheduler."
+ // + histogram name + "." + |name|). |priority_hint| is the preferred thread
+ // priority; the actual thread priority depends on shutdown state and platform
+ // capabilities. |params| contains additional thread creation params.
+ // |re_enqueue_sequence_callback| is invoked after a worker 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 worker pool with at least one thread.
static std::unique_ptr<SchedulerWorkerPoolImpl> Create(
+ const std::string& name,
+ ThreadPriority priority_hint,
const SchedulerWorkerPoolParams& params,
const ReEnqueueSequenceCallback& re_enqueue_sequence_callback,
TaskTracker* task_tracker,
@@ -109,11 +115,13 @@ class BASE_EXPORT SchedulerWorkerPoolImpl : public SchedulerWorkerPool {
private:
class SchedulerWorkerDelegateImpl;
- SchedulerWorkerPoolImpl(const SchedulerWorkerPoolParams& params,
+ SchedulerWorkerPoolImpl(const std::string& name,
+ const SchedulerWorkerPoolParams& params,
TaskTracker* task_tracker,
DelayedTaskManager* delayed_task_manager);
bool Initialize(
+ ThreadPriority priority_hint,
const SchedulerWorkerPoolParams& params,
const ReEnqueueSequenceCallback& re_enqueue_sequence_callback);
@@ -132,7 +140,7 @@ class BASE_EXPORT SchedulerWorkerPoolImpl : public SchedulerWorkerPool {
// Returns true if worker thread detachment is permitted.
bool CanWorkerDetachForTesting();
- // The name of this worker pool, used to label its worker threads.
+ // The name of this worker pool, used to label threads and histograms.
const std::string name_;
// All worker owned by this worker pool. Only modified during initialization

Powered by Google App Engine
This is Rietveld 408576698