5 #include "src/libplatform/default-worker-threads-task-runner.h" 7 #include "src/base/platform/mutex.h" 8 #include "src/libplatform/worker-thread.h" 13 DefaultWorkerThreadsTaskRunner::DefaultWorkerThreadsTaskRunner(
16 thread_pool_.push_back(base::make_unique<WorkerThread>(&queue_));
21 DefaultWorkerThreadsTaskRunner::~DefaultWorkerThreadsTaskRunner() {
26 void DefaultWorkerThreadsTaskRunner::Terminate() {
27 base::MutexGuard guard(&lock_);
34 void DefaultWorkerThreadsTaskRunner::PostTask(std::unique_ptr<Task> task) {
35 base::MutexGuard guard(&lock_);
36 if (terminated_)
return;
37 queue_.Append(std::move(task));
40 void DefaultWorkerThreadsTaskRunner::PostDelayedTask(std::unique_ptr<Task> task,
41 double delay_in_seconds) {
42 base::MutexGuard guard(&lock_);
43 if (terminated_)
return;
44 if (delay_in_seconds == 0) {
45 queue_.Append(std::move(task));
53 void DefaultWorkerThreadsTaskRunner::PostIdleTask(
54 std::unique_ptr<IdleTask> task) {
59 bool DefaultWorkerThreadsTaskRunner::IdleTasksEnabled() {