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 13namespace v8 { 14 15namespace platform { 16 17class TaskQueue; 18 19class 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