Index: base/single_thread_task_runner.h |
diff --git a/base/single_thread_task_runner.h b/base/single_thread_task_runner.h |
new file mode 100644 |
index 0000000000000000000000000000000000000000..93f694ee73c2ff8658ac27c47c61db7beaab074b |
--- /dev/null |
+++ b/base/single_thread_task_runner.h |
@@ -0,0 +1,38 @@ |
+// Copyright (c) 2012 The Chromium Authors. All rights reserved. |
+// Use of this source code is governed by a BSD-style license that can be |
+// found in the LICENSE file. |
+ |
+#ifndef BASE_SINGLE_THREAD_TASK_RUNNER_H_ |
+#define BASE_SINGLE_THREAD_TASK_RUNNER_H_ |
+#pragma once |
+ |
+#include "base/base_export.h" |
+#include "base/sequenced_task_runner.h" |
+ |
+namespace base { |
+ |
+// A SingleThreadTaskRunner is a SequencedTaskRunner with one more |
+// guarantee; namely, that all tasks are run on a single dedicated |
+// thread. Most use cases require only a SequencedTaskRunner, unless |
+// there is a specific need to run tasks on only a single dedicated. |
+// |
+// Some theoretical implementations of SingleThreadTaskRunner: |
+// |
+// - A SingleThreadTaskRunner that uses a single worker thread to |
+// run posted tasks (i.e., a message loop). |
+// |
+// - A SingleThreadTaskRunner that stores the list of posted tasks |
+// and has a method Run() that runs each runnable task in FIFO |
+// order that must be run only from the thread the |
+// SingleThreadTaskRunner was created on. |
+class BASE_EXPORT SingleThreadTaskRunner : public SequencedTaskRunner { |
+public: |
+ // A more explicit alias to RunsTasksOnCurrentThread(). |
+ bool BelongsToCurrentThread() const { |
+ return RunsTasksOnCurrentThread(); |
+ } |
+}; |
+ |
+} // namespace base |
+ |
+#endif // BASE_SERIAL_TASK_RUNNER_H_ |