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