Doxygen
DotWorkerThread类 参考

Worker thread to execute a dot run 更多...

#include <dotrunner.h>

+ DotWorkerThread 的协作图:

Public 成员函数

 DotWorkerThread (DotRunnerQueue *queue)
 
 ~DotWorkerThread ()
 
void run ()
 
void start ()
 
bool isRunning ()
 
void wait ()
 

Private 属性

std::unique_ptr< std::thread > m_thread
 
DotRunnerQueuem_queue
 

详细描述

Worker thread to execute a dot run

在文件 dotrunner.h86 行定义.

构造及析构函数说明

◆ DotWorkerThread()

DotWorkerThread::DotWorkerThread ( DotRunnerQueue queue)

在文件 dotrunner.cpp285 行定义.

286  : m_queue(queue)
287 {
288 }

◆ ~DotWorkerThread()

DotWorkerThread::~DotWorkerThread ( )

在文件 dotrunner.cpp290 行定义.

291 {
292  if (isRunning())
293  {
294  wait();
295  }
296 }

引用了 isRunning() , 以及 wait().

成员函数说明

◆ isRunning()

bool DotWorkerThread::isRunning ( )
inline

在文件 dotrunner.h93 行定义.

93 { return m_thread && m_thread->joinable(); }

引用了 m_thread.

被这些函数引用 ~DotWorkerThread().

◆ run()

void DotWorkerThread::run ( )

在文件 dotrunner.cpp298 行定义.

299 {
300  DotRunner *runner;
301  while ((runner=m_queue->dequeue()))
302  {
303  runner->run();
304  }
305 }

引用了 DotRunnerQueue::dequeue(), m_queue , 以及 DotRunner::run().

被这些函数引用 start().

◆ start()

void DotWorkerThread::start ( )

在文件 dotrunner.cpp307 行定义.

308 {
309  assert(!m_thread);
310  m_thread = std::make_unique<std::thread>(&DotWorkerThread::run, this);
311 }

引用了 m_thread , 以及 run().

◆ wait()

void DotWorkerThread::wait ( )
inline

在文件 dotrunner.h94 行定义.

94 { m_thread->join(); }

引用了 m_thread.

被这些函数引用 ~DotWorkerThread().

类成员变量说明

◆ m_queue

DotRunnerQueue* DotWorkerThread::m_queue
private

在文件 dotrunner.h97 行定义.

被这些函数引用 run().

◆ m_thread

std::unique_ptr<std::thread> DotWorkerThread::m_thread
private

在文件 dotrunner.h96 行定义.

被这些函数引用 isRunning(), start() , 以及 wait().


该类的文档由以下文件生成:
DotRunner::run
bool run()
Runs dot for all jobs added.
Definition: dotrunner.cpp:172
DotRunner
Helper class to run dot from doxygen from multiple threads.
Definition: dotrunner.h:30
DotWorkerThread::isRunning
bool isRunning()
Definition: dotrunner.h:93
DotWorkerThread::wait
void wait()
Definition: dotrunner.h:94
DotWorkerThread::run
void run()
Definition: dotrunner.cpp:298
DotRunnerQueue::dequeue
DotRunner * dequeue()
Definition: dotrunner.cpp:265
DotWorkerThread::m_thread
std::unique_ptr< std::thread > m_thread
Definition: dotrunner.h:96
DotWorkerThread::m_queue
DotRunnerQueue * m_queue
Definition: dotrunner.h:97