#### spawn (6 of 7 overloads)

Start a new stackful coroutine that executes in the context of a strand.

    template<
        typename Function>
    void spawn(
        const asio::io_context::strand & s,
        Function && function,
        const boost::coroutines::attributes & attributes = boost::coroutines::attributes());

This function is used to launch a new coroutine.

###### Parameters

s

  Identifies a strand. By starting multiple coroutines on the same strand, the implementation ensures that none of those coroutines can execute simultaneously.

function

  The coroutine function. The function must have the signature:

      void function(yield_context yield);

attributes

  Boost.Coroutine attributes used to customise the coroutine.