1 // Copyright 2013 the V8 project authors. All rights reserved. 2 // Use of this source code is governed by a BSD-style license that can be 3 // found in the LICENSE file. 4 5 #ifndef V8_LIBPLATFORM_WORKER_THREAD_H_ 6 #define V8_LIBPLATFORM_WORKER_THREAD_H_ 7 8 #include <queue> 9 10 #include "src/base/macros.h" 11 #include "src/base/platform/platform.h" 12 13 namespace v8 { 14 15 namespace platform { 16 17 class TaskQueue; 18 19 class WorkerThread : public base::Thread { 20 public: 21 explicit WorkerThread(TaskQueue* queue); 22 virtual ~WorkerThread(); 23 24 // Thread implementation. 25 virtual void Run() OVERRIDE; 26 27 private: 28 friend class QuitTask; 29 30 TaskQueue* queue_; 31 32 DISALLOW_COPY_AND_ASSIGN(WorkerThread); 33 }; 34 35 } } // namespace v8::platform 36 37 38 #endif // V8_LIBPLATFORM_WORKER_THREAD_H_ 39