// signal-4.ck : one event signals 4 shreds // our event Event e; // the base function of our shreds fun int hi( Event e, string id ) { // time/event loop while( true ) { // wait on event e => now; <<>>; } } // spork our shreds with different strings spork ~ hi( e, "yo" ); spork ~ hi( e, "hi" ); spork ~ hi( e, "hello" ); spork ~ hi( e, "hey come back here!" ); // may want to yield to give shreds chance to start me.yield(); // time loop while( true ) { // signal one shred e.signal(); // advance time by 1 second (alternative: me.yield()) 1::second => now; }