src/runtime/threads/executors/default_executor.cpp
void default_executor::add_at(
        util::steady_clock::time_point const& abs_time,
        closure_type&& f, util::thread_description const& description,
        threads::thread_stacksize stacksize, error_code& ec)
    {
        if (stacksize == threads::thread_stacksize_default)
            stacksize = stacksize_;

        // create new thread
        thread_id_type id = register_thread_nullary(
            std::move(f), description, suspended, false,
            priority_, os_thread_, stacksize, ec);
        if (ec) return;

        HPX_ASSERT(invalid_thread_id != id);    // would throw otherwise

        // now schedule new thread for execution
        set_thread_state(id, abs_time);
    }
// Schedule given function for execution in this executor no sooner
// than time abs_time. This call never blocks, and may violate
// bounds on the executor's queue size.
Schedule given function for execution in this executor no sooner
than time abs_time. This call never blocks, and may violate
bounds on the executor's queue size.
Schedule given function for execution in this executor no sooner than time abs_time . This call never blocks and may violate bounds on the executor ' s queue size .
void default_executor::add_at(
        util::steady_clock::time_point const& abs_time,
        closure_type&& f, util::thread_description const& description,
        threads::thread_stacksize stacksize, error_code& ec)
    {
        if (stacksize == threads::thread_stacksize_default)
            stacksize = stacksize_;
        thread_id_type id = register_thread_nullary(
            std::move(f), description, suspended, false,
            priority_, os_thread_, stacksize, ec);
        if (ec) return;
        HPX_ASSERT(invalid_thread_id != id);    
        set_thread_state(id, abs_time);
    }
void default_executor :: add_at ( util :: steady_clock :: time_point const & abs_time , closure_type && f , util :: thread_description const & description , threads :: thread_stacksize stacksize , error_code & ec ) { if ( stacksize == threads :: thread_stacksize_default ) stacksize = stacksize_ ; thread_id_type id = register_thread_nullary ( std :: move ( f ) , description , suspended , false , priority_ , os_thread_ , stacksize , ec ) ; if ( ec ) return ; HPX_ASSERT ( invalid_thread_id != id ) ; set_thread_state ( id , abs_time ) ; }
Schedule given function for execution in this executor no sooner
than time abs_time.
Schedule given function for execution in this executor no sooner than time abs_time .
// create new thread // would throw otherwise // now schedule new thread for execution