Skip to content

AAbstractThread#

Represents an abstract thread which might be not created with AThread.

Header:#include <AUI/Thread/AThread.h>
CMake:aui_link(my_target PUBLIC aui::core)

Detailed Description#

Not all threads are created through AThread - these are interfaced with AAbstractThread.

Public fields and Signals#


mId#

id mId

Thread ID.

Public Methods#

enqueue#


void AAbstractThread::enqueue(AMessageQueue<>::Message f)

Delivers task for execution (message) to this thread's event queue. Messages are processed by framework itself using AEventLoop. This behaviour may be overwritten using the AThread::processMessages() function.

getCurrentEventLoop#


IEventLoop* AAbstractThread::getCurrentEventLoop()

Get current event loop for this thread.

Returns
current event loop for this thread

getId#


id AAbstractThread::getId()
Returns
thread ID

interrupt#


virtual void AAbstractThread::interrupt()

Interrupt thread's execution.

Raises the interruption flag of the thread. In order to check whether thread interrupted use AThread::interruptionPoint() or AAbstractThread::isInterrupted().

isInterrupted#


virtual bool AAbstractThread::isInterrupted()
Returns
true if interrupt requested for this thread.

resetInterruptFlag#


virtual void AAbstractThread::resetInterruptFlag()

Reset interruption flag.

threadStacktrace#


AStacktrace AAbstractThread::threadStacktrace()

Retrieve stacktrace of the thread.