Table Of Contents

Previous topic

QSystemLocale

Next topic

QXmlStreamWriter

QRunnable

Synopsis

Functions

Virtual functions

Detailed Description

The PySide.QtCore.QRunnable class is the base class for all runnable objects.

The PySide.QtCore.QRunnable class is an interface for representing a task or piece of code that needs to be executed, represented by your reimplementation of the PySide.QtCore.QRunnable.run() function.

You can use PySide.QtCore.QThreadPool to execute your code in a separate thread. PySide.QtCore.QThreadPool deletes the PySide.QtCore.QRunnable automatically if PySide.QtCore.QRunnable.autoDelete() returns true (the default). Use PySide.QtCore.QRunnable.setAutoDelete() to change the auto-deletion flag.

PySide.QtCore.QThreadPool supports executing the same PySide.QtCore.QRunnable more than once by calling QThreadPool::tryStart(this) from within the PySide.QtCore.QRunnable.run() function. If autoDelete is enabled the PySide.QtCore.QRunnable will be deleted when the last thread exits the run function. Calling QThreadPool.start() multiple times with the same PySide.QtCore.QRunnable when autoDelete is enabled creates a race condition and is not recommended.

class PySide.QtCore.QRunnable

Constructs a PySide.QtCore.QRunnable . Auto-deletion is enabled by default.

PySide.QtCore.QRunnable.autoDelete()
Return type:PySide.QtCore.bool

Returns true is auto-deletion is enabled; false otherwise.

If auto-deletion is enabled, PySide.QtCore.QThreadPool will automatically delete this runnable after calling PySide.QtCore.QRunnable.run() ; otherwise, ownership remains with the application programmer.

PySide.QtCore.QRunnable.run()

Implement this pure virtual function in your subclass.

PySide.QtCore.QRunnable.setAutoDelete(_autoDelete)
Parameters:_autoDeletePySide.QtCore.bool

Enables auto-deletion if autoDelete is true; otherwise auto-deletion is disabled.

If auto-deletion is enabled, PySide.QtCore.QThreadPool will automatically delete this runnable after calling PySide.QtCore.QRunnable.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.