YACLib
C++ library for concurrent tasks execution
|
#include <thread.hpp>
Public Types | |
using | id = FiberBase::Id |
using | native_handle_type = void * |
Public Member Functions | |
Thread (const Thread &)=delete | |
Thread & | operator= (const Thread &)=delete |
template<typename... Args> | |
Thread (Args &&... args) | |
Thread () noexcept | |
Thread (Thread &&t) noexcept | |
Thread & | operator= (Thread &&t) noexcept |
~Thread () | |
void | swap (Thread &t) noexcept |
bool | joinable () const noexcept |
void | join () |
void | detach () |
id | get_id () const noexcept |
native_handle_type | native_handle () noexcept |
Static Public Member Functions | |
static unsigned int | hardware_concurrency () noexcept |
static void | SetHardwareConcurrency (unsigned int hardware_concurrency) noexcept |
Definition at line 13 of file thread.hpp.
Definition at line 18 of file thread.hpp.
Definition at line 19 of file thread.hpp.
|
inlineexplicit |
Definition at line 22 of file thread.hpp.
References yaclib::fault::Scheduler::GetScheduler(), and yaclib::fault::Scheduler::Schedule().
|
defaultnoexcept |
|
noexcept |
Definition at line 72 of file thread.cpp.
References yaclib::MakeContract().
yaclib::detail::fiber::Thread::~Thread | ( | ) |
Definition at line 61 of file thread.cpp.
void yaclib::detail::fiber::Thread::detach | ( | ) |
Definition at line 38 of file thread.cpp.
References joinable().
|
noexcept |
Definition at line 48 of file thread.cpp.
References yaclib::detail::fiber::FiberBase::GetId().
Referenced by joinable().
Definition at line 57 of file thread.cpp.
References yaclib::detail::fiber::gHardwareConcurrency.
void yaclib::detail::fiber::Thread::join | ( | ) |
Definition at line 22 of file thread.cpp.
References yaclib::detail::fiber::Completed, yaclib::fault::Scheduler::Current(), yaclib::detail::fiber::FiberBase::GetState(), joinable(), yaclib::detail::fiber::FiberBase::SetJoiningFiber(), and yaclib::fault::Scheduler::Suspend().
|
noexcept |
Definition at line 18 of file thread.cpp.
References get_id(), and yaclib::fault::Scheduler::GetId().
|
noexcept |
Definition at line 52 of file thread.cpp.
References YACLIB_DEBUG.
Definition at line 67 of file thread.cpp.
References yaclib::MakeContract().
|
staticnoexcept |
Definition at line 85 of file thread.cpp.
References yaclib::detail::fiber::gHardwareConcurrency.
Referenced by yaclib::fiber::SetHardwareConcurrency().
Definition at line 14 of file thread.cpp.
References yaclib::MakeContract().