Qt 4.8
|
The QRunnable class is the base class for all runnable objects. More...
#include <qrunnable.h>
Public Functions | |
bool | autoDelete () const |
Returns true is auto-deletion is enabled; false otherwise. More... | |
QRunnable () | |
Constructs a QRunnable. More... | |
virtual void | run ()=0 |
Implement this pure virtual function in your subclass. More... | |
void | setAutoDelete (bool _autoDelete) |
Enables auto-deletion if autoDelete is true; otherwise auto-deletion is disabled. More... | |
virtual | ~QRunnable () |
QRunnable virtual destructor. More... | |
Properties | |
int | ref |
Friends | |
class | QThreadPool |
class | QThreadPoolPrivate |
class | QThreadPoolThread |
The QRunnable class is the base class for all runnable objects.
The 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() function.
You can use QThreadPool to execute your code in a separate thread. QThreadPool deletes the QRunnable automatically if autoDelete() returns true (the default). Use setAutoDelete() to change the auto-deletion flag.
QThreadPool supports executing the same QRunnable more than once by calling QThreadPool::tryStart(this) from within the run() function. If autoDelete is enabled the QRunnable will be deleted when the last thread exits the run function. Calling QThreadPool::start() multiple times with the same QRunnable when autoDelete is enabled creates a race condition and is not recommended.
Definition at line 52 of file qrunnable.h.
|
inline |
Constructs a QRunnable.
Auto-deletion is enabled by default.
Definition at line 63 of file qrunnable.h.
|
inlinevirtual |
|
inline |
Returns 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.
Definition at line 66 of file qrunnable.h.
Referenced by QThreadPoolPrivate::enqueueTask(), QThreadPoolThread::run(), QThreadPoolPrivate::startFrontRunnable(), QThreadPoolPrivate::startThread(), QThreadPoolPrivate::stealRunnable(), and QThreadPoolPrivate::tryStart().
|
pure virtual |
Implement this pure virtual function in your subclass.
Implemented in QHostInfoRunnable.
Referenced by QThreadPoolThread::run(), QThreadPoolPrivate::startFrontRunnable(), and QThreadPoolPrivate::stealRunnable().
|
inline |
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.
Definition at line 67 of file qrunnable.h.
Referenced by QHostInfoRunnable::QHostInfoRunnable().
|
friend |
Definition at line 56 of file qrunnable.h.
|
friend |
Definition at line 57 of file qrunnable.h.
|
friend |
Definition at line 58 of file qrunnable.h.
|
private |
Definition at line 54 of file qrunnable.h.
Referenced by QThreadPoolPrivate::enqueueTask(), QThreadPoolThread::run(), QThreadPoolPrivate::startFrontRunnable(), QThreadPoolPrivate::startThread(), QThreadPoolPrivate::stealRunnable(), and QThreadPoolPrivate::tryStart().