createThread(int coreId, _Callable&& __f, _Args&&... __args)

 

At the moment, this function takes a core ID, a function, and a set of arguments for the function, and then schedules the thread to run on the target core at the next available opportunity.

 

sleep(uint64_t ns)

This function operates like nanosleep by relinquishing control of the thread for at least `ns` nanoseconds.

 

threadInit()

This function must be called before any other calls to the Arachne library, and initializes state for managing threads.

Sample Arachne Application

int main(int argc, char** argv){       
    // Initialize the library          
    Arachne::threadInit();             
                                       
    // Add some work                   
    Arachne::createThread(0, producer);
    Arachne::createThread(1, consumer);
    fflush(stdout);                    
    // Must be the last call           
    Arachne::mainThreadJoinPool();     
}