QRunnable 类

The QRunnable 类是所有可运行对象的基类。 更多...

头: #include <QRunnable>
qmake: QT += core
Since: Qt 4.4

公共函数

QRunnable ()
virtual ~QRunnable ()
bool autoDelete () const
virtual void run () = 0
void setAutoDelete (bool autoDelete )

详细描述

The QRunnable 类是所有可运行对象的基类。

The QRunnable 类是表示需要执行任务 (或代码片段) 的接口,表示是通过重实现 run () 函数。

可以使用 QThreadPool 在单独线程中执行代码。 QThreadPool 删除 QRunnable 自动若 autoDelete () 返回 true (默认)。使用 setAutoDelete () 以改变自动删除标志。

QThreadPool 支持执行同一 QRunnable 多次通过调用 QThreadPool::tryStart (this) 从 run () 函数。若 autoDelete 被启用 QRunnable 会被删除当最后一个线程退出 run 函数时。调用 QThreadPool::start () 多次采用同一 QRunnable autoDelete 被启用会创建竞争条件且不推荐。

另请参阅 QThreadPool .

成员函数文档编制

QRunnable:: QRunnable ()

构造 QRunnable 。默认启用自动删除。

另请参阅 autoDelete () 和 setAutoDelete ().

[virtual] QRunnable:: ~QRunnable ()

QRunnable 虚拟析构函数。

bool QRunnable:: autoDelete () const

返回 true 自动删除被启用;否则 false。

若自动删除被启用, QThreadPool 将自动删除此可运行后于调用 run ();否则,所有权仍然属于应用程序程序员。

另请参阅 setAutoDelete () 和 QThreadPool .

[pure virtual] void QRunnable:: run ()

在子类中实现此纯虚函数。

void QRunnable:: setAutoDelete ( bool autoDelete )

启用自动删除若 autoDelete 为 true;否则自动删除被禁用。

若自动删除被启用, QThreadPool 将自动删除此可运行后于调用 run ();否则,所有权仍然属于应用程序程序员。

注意,必须设置此标志先于调用 QThreadPool::start ()。调用此函数后于 QThreadPool::start () 将导致未定义行为。

另请参阅 autoDelete () 和 QThreadPool .