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

Unified Diff: base/threading/sequenced_worker_pool.cc

Issue 2077413009: Add TaskPriority as a parameter to SequencedWorkerPool in preparation for TaskScheduler experiment. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@a2_hook
Patch Set: tweak comment Created 4 years, 5 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
« no previous file with comments | « base/threading/sequenced_worker_pool.h ('k') | base/trace_event/memory_dump_manager_unittest.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: base/threading/sequenced_worker_pool.cc
diff --git a/base/threading/sequenced_worker_pool.cc b/base/threading/sequenced_worker_pool.cc
index 57961b5cd5538306ea00a4b354966e32b20d4e0c..62084a7eafa06584354dd54e1219e27dbc8b4426 100644
--- a/base/threading/sequenced_worker_pool.cc
+++ b/base/threading/sequenced_worker_pool.cc
@@ -292,8 +292,10 @@ class SequencedWorkerPool::Inner {
public:
// Take a raw pointer to |worker| to avoid cycles (since we're owned
// by it).
- Inner(SequencedWorkerPool* worker_pool, size_t max_threads,
+ Inner(SequencedWorkerPool* worker_pool,
+ size_t max_threads,
const std::string& thread_name_prefix,
+ base::TaskPriority task_priority,
TestingObserver* observer);
~Inner();
@@ -497,6 +499,10 @@ class SequencedWorkerPool::Inner {
TestingObserver* const testing_observer_;
+ // The TaskPriority to be used for SequencedWorkerPool tasks redirected to the
+ // TaskScheduler as an experiment (unused otherwise).
+ const base::TaskPriority task_priority_;
+
DISALLOW_COPY_AND_ASSIGN(Inner);
};
@@ -552,11 +558,11 @@ LazyInstance<ThreadLocalPointer<SequencedWorkerPool::Worker>>::Leaky
// Inner definitions ---------------------------------------------------------
-SequencedWorkerPool::Inner::Inner(
- SequencedWorkerPool* worker_pool,
- size_t max_threads,
- const std::string& thread_name_prefix,
- TestingObserver* observer)
+SequencedWorkerPool::Inner::Inner(SequencedWorkerPool* worker_pool,
+ size_t max_threads,
+ const std::string& thread_name_prefix,
+ base::TaskPriority task_priority,
+ TestingObserver* observer)
: worker_pool_(worker_pool),
lock_(),
has_work_cv_(&lock_),
@@ -574,7 +580,8 @@ SequencedWorkerPool::Inner::Inner(
cleanup_state_(CLEANUP_DONE),
cleanup_idlers_(0),
cleanup_cv_(&lock_),
- testing_observer_(observer) {}
+ testing_observer_(observer),
+ task_priority_(task_priority) {}
SequencedWorkerPool::Inner::~Inner() {
// You must call Shutdown() before destroying the pool.
@@ -1254,17 +1261,31 @@ SequencedWorkerPool::GetSequencedTaskRunnerForCurrentThread() {
}
SequencedWorkerPool::SequencedWorkerPool(size_t max_threads,
- const std::string& thread_name_prefix)
+ const std::string& thread_name_prefix,
+ base::TaskPriority task_priority)
: constructor_task_runner_(ThreadTaskRunnerHandle::Get()),
- inner_(new Inner(this, max_threads, thread_name_prefix, NULL)) {
-}
+ inner_(new Inner(this,
+ max_threads,
+ thread_name_prefix,
+ task_priority,
+ NULL)) {}
+
+SequencedWorkerPool::SequencedWorkerPool(size_t max_threads,
+ const std::string& thread_name_prefix)
+ : SequencedWorkerPool(max_threads,
+ thread_name_prefix,
+ base::TaskPriority::USER_VISIBLE) {}
SequencedWorkerPool::SequencedWorkerPool(size_t max_threads,
const std::string& thread_name_prefix,
+ base::TaskPriority task_priority,
TestingObserver* observer)
: constructor_task_runner_(ThreadTaskRunnerHandle::Get()),
- inner_(new Inner(this, max_threads, thread_name_prefix, observer)) {
-}
+ inner_(new Inner(this,
+ max_threads,
+ thread_name_prefix,
+ task_priority,
+ observer)) {}
SequencedWorkerPool::~SequencedWorkerPool() {}
« no previous file with comments | « base/threading/sequenced_worker_pool.h ('k') | base/trace_event/memory_dump_manager_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698