Base class for all runnable objects.
More...
Inherited by QDnsLookupRunnable, QHostInfoRunnable, QtConcurrent::RunFunctionTaskBase< T >, QtConcurrent::ThreadEngineBase, QtConcurrent::RunFunctionTaskBase< void >
The QRunnable class is the base class for all runnable objects. It 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.
- See also
- QThreadPool
QRunnable::~QRunnable |
( |
| ) |
|
|
inlinevirtual |
Destroys the current QRunnable object.
bool QRunnable::autoDelete |
( |
| ) |
const |
|
inline |
Returns true if 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.
- See also
- setAutoDelete(), QThreadPool
This method must be overridden in your subclass.
void QRunnable::setAutoDelete |
( |
bool |
autoDelete | ) |
|
|
inline |