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#include "src/libplatform/worker-thread.h" 6 7#include "include/v8-platform.h" 8#include "src/libplatform/task-queue.h" 9 10namespace v8 { 11namespace platform { 12 13WorkerThread::WorkerThread(TaskQueue* queue) 14 : Thread(Options("V8 WorkerThread")), queue_(queue) { 15 Start(); 16} 17 18 19WorkerThread::~WorkerThread() { 20 Join(); 21} 22 23 24void WorkerThread::Run() { 25 while (Task* task = queue_->GetNext()) { 26 task->Run(); 27 delete task; 28 } 29} 30 31} // namespace platform 32} // namespace v8 33