hpx/threading_base/register_thread.hpp#

See Public API for a list of names and headers that are part of the public HPX API.

namespace hpx
namespace threads

Functions

template<typename F>
thread_function_type make_thread_function(F &&f)#
template<typename F>
thread_function_type make_thread_function_nullary(F &&f)#
inline threads::thread_id_ref_type register_thread(threads::thread_init_data &data, threads::thread_pool_base *pool, error_code &ec = throws)#

Create a new thread using the given data.

Note

As long as ec is not pre-initialized to hpx::throws this function doesn’t throw but returns the result code using the parameter ec. Otherwise it throws an instance of hpx::exception.

Parameters
  • data – [in] The data to use for creating the thread.

  • pool – [in] The thread pool to use for launching the work.

  • ec – [in,out] This represents the error status on exit, if this is pre-initialized to hpx::throws the function will throw on error instead.

Throws

invalid_status – if the runtime system has not been started yet.

Returns

This function will return the internal id of the newly created HPX-thread.

inline threads::thread_id_ref_type register_thread(threads::thread_init_data &data, error_code &ec = throws)#

Create a new thread using the given data on the same thread pool as the calling thread, or on the default thread pool if not on an HPX thread.

Note

As long as ec is not pre-initialized to hpx::throws this function doesn’t throw but returns the result code using the parameter ec. Otherwise it throws an instance of hpx::exception.

Parameters
  • data – [in] The data to use for creating the thread.

  • ec – [in,out] This represents the error status on exit, if this is pre-initialized to hpx::throws the function will throw on error instead.

Throws

invalid_status – if the runtime system has not been started yet.

Returns

This function will return the internal id of the newly created HPX-thread.

inline thread_id_ref_type register_work(threads::thread_init_data &data, threads::thread_pool_base *pool, error_code &ec = throws)#

Create a new work item using the given data.

Note

As long as ec is not pre-initialized to hpx::throws this function doesn’t throw but returns the result code using the parameter ec. Otherwise it throws an instance of hpx::exception.

Parameters
  • data – [in] The data to use for creating the thread.

  • pool – [in] The thread pool to use for launching the work.

  • ec – [in,out] This represents the error status on exit, if this is pre-initialized to hpx::throws the function will throw on error instead.

Throws

invalid_status – if the runtime system has not been started yet.

inline thread_id_ref_type register_work(threads::thread_init_data &data, error_code &ec = throws)#

Create a new work item using the given data on the same thread pool as the calling thread, or on the default thread pool if not on an HPX thread.

Note

As long as ec is not pre-initialized to hpx::throws this function doesn’t throw but returns the result code using the parameter ec. Otherwise it throws an instance of hpx::exception.

Parameters
  • data – [in] The data to use for creating the thread.

  • ec – [in,out] This represents the error status on exit, if this is pre-initialized to hpx::throws the function will throw on error instead.

Throws

invalid_status – if the runtime system has not been started yet.