Lines Matching refs:_data
63 ThreadPool::Data * _data;
113 _data (data)
126 _data->threadSemaphore.post();
134 _data->taskSemaphore.wait();
137 Lock taskLock (_data->taskMutex);
143 if (_data->numTasks > 0)
145 Task* task = _data->tasks.front();
147 _data->tasks.pop_front();
148 _data->numTasks--;
155 taskGroup->_data->removeTask();
157 else if (_data->stopped())
311 _data (new Data())
319 delete _data;
328 _data (new Data())
336 delete _data;
343 Lock lock (_data->threadMutex);
344 return _data->numThreads;
359 Lock lock (_data->threadMutex);
361 if ((size_t)count > _data->numThreads)
367 while (_data->numThreads < (size_t)count)
369 _data->threads.push_back (new WorkerThread (_data));
370 _data->numThreads++;
373 else if ((size_t)count < _data->numThreads)
380 _data->finish ();
386 while (_data->numThreads < (size_t)count)
388 _data->threads.push_back (new WorkerThread (_data));
389 _data->numThreads++;
402 Lock lock (_data->threadMutex);
404 if (_data->numThreads == 0)
416 Lock taskLock (_data->taskMutex);
422 _data->tasks.push_back (task);
423 _data->numTasks++;
424 task->group()->_data->addTask();
431 _data->taskSemaphore.post ();