QRunnable class is the base class for all runnable objects. 更多...
头: | #include <QRunnable> |
qmake: | QT += core |
Since: | Qt 4.4 |
QRunnable () | |
virtual | ~QRunnable () |
bool | autoDelete () const |
virtual void | run () = 0 |
void | setAutoDelete (bool autoDelete ) |
QRunnable class is the base class for all runnable objects.
QRunnable class is an interface for representing a task or piece of code that needs to be executed, represented by your reimplementation of the run () 函数。
可以使用
QThreadPool
to execute your code in a separate thread.
QThreadPool
deletes the
QRunnable
automatically if
autoDelete
() 返回
true
(the default). Use
setAutoDelete
() 以改变自动删除标志。
QThreadPool supports executing the same QRunnable 多次通过调用 QThreadPool::tryStart (this) from within the run () function. If autoDelete is enabled the QRunnable 将被删除当最后一个线程退出 run 函数时。调用 QThreadPool::start () multiple times with the same QRunnable when autoDelete is enabled creates a race condition and is not recommended.
另请参阅 QThreadPool .
构造 QRunnable . Auto-deletion is enabled by default.
另请参阅 autoDelete () 和 setAutoDelete ().
[virtual]
QRunnable::
~QRunnable
()
QRunnable virtual destructor.
返回
true
is auto-deletion is enabled; false otherwise.
If auto-deletion is enabled, QThreadPool will automatically delete this runnable after calling run (); otherwise, ownership remains with the application programmer.
另请参阅 setAutoDelete () 和 QThreadPool .
[pure virtual]
void
QRunnable::
run
()
Implement this pure virtual function in your subclass.
Enables auto-deletion if autoDelete is true; otherwise auto-deletion is disabled.
If auto-deletion is enabled, QThreadPool will automatically delete this runnable after calling run (); otherwise, ownership remains with the application programmer.
Note that this flag must be set before calling QThreadPool::start (). Calling this function after QThreadPool::start () results in undefined behavior.
另请参阅 autoDelete () 和 QThreadPool .