#[repr(C)]pub struct QRunnable { /* private fields */ }
Expand description
The QRunnable class is the base class for all runnable objects.
C++ class: QRunnable
.
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.
Implementations§
source§impl QRunnable
impl QRunnable
sourcepub unsafe fn auto_delete(&self) -> bool
pub unsafe fn auto_delete(&self) -> bool
Returns true
is auto-deletion is enabled; false otherwise.
Calls C++ function: bool QRunnable::autoDelete() const
.
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.
See also setAutoDelete() and QThreadPool.
sourcepub unsafe fn copy_from(
&self,
other: impl CastInto<Ref<QRunnable>>
) -> Ref<QRunnable>
pub unsafe fn copy_from( &self, other: impl CastInto<Ref<QRunnable>> ) -> Ref<QRunnable>
The QRunnable class is the base class for all runnable objects.
Calls C++ function: QRunnable& QRunnable::operator=(const QRunnable& other)
.
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.
sourcepub unsafe fn run(&self)
pub unsafe fn run(&self)
Implement this pure virtual function in your subclass.
Calls C++ function: pure virtual void QRunnable::run()
.
Implement this pure virtual function in your subclass.
sourcepub unsafe fn set_auto_delete(&self, auto_delete: bool)
pub unsafe fn set_auto_delete(&self, auto_delete: bool)
Enables auto-deletion if autoDelete is true; otherwise auto-deletion is disabled.
Calls C++ function: void QRunnable::setAutoDelete(bool _autoDelete)
.
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.
See also autoDelete() and QThreadPool.