Detailed Description
The PConcurrentThread class represents a thread, a sequence of instructions that can be executed concurrently with other such sequences in multi-threading environments, while sharing a same address space.
Multiple threads can exist within one process, executing concurrently and sharing resources such as memory.
You can either create a thread from a single function or an instance of any class implementing PRunnable.
Definition at line 87 of file PConcurrentThread.h.
#include <PConcurrentThread.h>
Constructor & Destructor Documentation
◆ PConcurrentThread() [1/4]
PConcurrentThread::PConcurrentThread | ( | ) |
Constructs a new thread instance that refers to NOT-A-THREAD.
◆ PConcurrentThread() [2/4]
PConcurrentThread::PConcurrentThread | ( | void(*)() | f | ) |
Constructs a new concurrent thread instance which starts running the passed function and ends when the function returns.
◆ PConcurrentThread() [3/4]
PConcurrentThread::PConcurrentThread | ( | PRunnable & | r | ) |
Constructs a new concurrent thread instance which starts running the specified PRunnable object (call the Run() method) and ends when Run() returns.
◆ PConcurrentThread() [4/4]
PConcurrentThread::PConcurrentThread | ( | const PConcurrentThread & | other | ) |
Constructs a shared copy of other.
◆ ~PConcurrentThread()
|
virtual |
Destroys this object.
Member Function Documentation
◆ GetNumAvailableHardwareCores()
|
static |
Returns the number of physical cores available on the current system.
In contrast to GetNumAvailableHardwareThreads() it does not return the number of virtual cores, but it counts only physical cores.
◆ GetNumAvailableHardwareThreads()
|
static |
Returns the number of hardware threads available on the current system (e.g.
number of CPUs or cores or hyper-threading units).
◆ GetThreadId()
|
static |
Returns the current thread id.
◆ Join()
void PConcurrentThread::Join | ( | ) |
Waits for that thread of execution to complete; do nothing is the thread is empty.
◆ operator=()
PConcurrentThread& PConcurrentThread::operator= | ( | const PConcurrentThread & | other | ) |
Performs a shared copy of other to this object.
◆ Sleep()
|
static |
Suspends this thread until the duration specified by timeMs (milliseconds) has elapsed.
◆ TryJoin()
PResult PConcurrentThread::TryJoin | ( | papillon::int32 | timeMs | ) |
Waits for that thread of execution to complete up to timeMs milliseconds; do nothing is the thread is empty.
Returns PResult::C_OK if the thread has joined in the specified period, another result otherwise.