hpx/threading_base/thread_data_stackful.hpp¶
See Public API for a list of names and headers that are part of the public HPX API.
-
namespace
hpx
-
namespace
threads
-
class
thread_data_stackful
: public hpx::threads::thread_data¶ - #include <thread_data_stackful.hpp>
A thread is the representation of a ParalleX thread. It’s a first class object in ParalleX. In our implementation this is a user level thread running on top of one of the OS threads spawned by the thread-manager.
A thread encapsulates:
A thread status word (see the functions thread::get_state and thread::set_state)
A function to execute (the thread function)
A frame (in this implementation this is a block of memory used as the threads stack)
A block of registers (not implemented yet)
Generally, threads are not created or executed directly. All functionality related to the management of threads is implemented by the thread-manager.
Public Functions
-
coroutine_type::result_type
call
(hpx::execution_base::this_thread::detail::agent_storage *agent_storage)¶
-
void
init
()¶
-
void
rebind
(thread_init_data &init_data)¶
-
thread_data_stackful
(thread_init_data &init_data, void *queue, std::ptrdiff_t stacksize, thread_id_addref addref)¶
-
~thread_data_stackful
()¶
-
void
destroy
()¶
Public Static Functions
-
thread_data *
create
(thread_init_data &init_data, void *queue, std::ptrdiff_t stacksize, thread_id_addref addref = thread_id_addref::yes)¶
Private Functions
-
thread_data *
this_
()¶
Private Static Attributes
-
util::internal_allocator<thread_data_stackful>
thread_alloc_
¶
-
class
-
namespace