class static_priority_queue_scheduler
Declaration
template <
typename Mutex = std::mutex,
typename PendingQueuing = pika::threads::policies::lockfree_fifo,
typename StagedQueuing = pika::threads::policies::lockfree_fifo,
typename TerminatedQueuing = pika::threads::policies::
default_static_priority_queue_scheduler_terminated_queue>
class static_priority_queue_scheduler { /* full declaration omitted */ };Description
//////////////////////////////////////////////////////////////////////// The static_priority_queue_scheduler maintains exactly one queue of work items (threads) per OS thread, where this OS thread pulls its next work from. Additionally it maintains separate queues: several for high priority threads and one for low priority threads. High priority threads are executed by the first N OS threads before any other work is executed. Low priority threads are executed by the last OS thread whenever no other work is available. This scheduler does not do any work stealing.
Declared at: libs/pika/schedulers/include/pika/schedulers/static_priority_queue_scheduler.hpp:49
Method Overview
- public static std::string get_scheduler_name()
- public void set_scheduler_mode(pika::threads::policies::scheduler_mode mode)
- public static_priority_queue_scheduler<Mutex, PendingQueuing, StagedQueuing, TerminatedQueuing>(const pika::threads::policies::static_priority_queue_scheduler::init_parameter_type & init, bool deferred_initialization = true)
Methods
static std::string get_scheduler_name()
static std::string get_scheduler_name()Declared at: libs/pika/schedulers/include/pika/schedulers/static_priority_queue_scheduler.hpp:76
void set_scheduler_mode(
pika::threads::policies::scheduler_mode mode)
void set_scheduler_mode(
pika::threads::policies::scheduler_mode mode)Declared at: libs/pika/schedulers/include/pika/schedulers/static_priority_queue_scheduler.hpp:68
Parameters
- pika::threads::policies::scheduler_mode mode
static_priority_queue_scheduler<
Mutex,
PendingQueuing,
StagedQueuing,
TerminatedQueuing>(
const pika::threads::policies::
static_priority_queue_scheduler::
init_parameter_type& init,
bool deferred_initialization = true)
static_priority_queue_scheduler<
Mutex,
PendingQueuing,
StagedQueuing,
TerminatedQueuing>(
const pika::threads::policies::
static_priority_queue_scheduler::
init_parameter_type& init,
bool deferred_initialization = true)Declared at: libs/pika/schedulers/include/pika/schedulers/static_priority_queue_scheduler.hpp:59
Parameters
- const pika::threads::policies:: static_priority_queue_scheduler:: init_parameter_type& init
- bool deferred_initialization = true