*** empty log message ***
[chuck-blob.git] / v2 / examples / event / event_extend.ck
blob99538adf0236a5f4cb398f9298369929626678f2
1 // creating custom event objects
3 // new event class
4 class TheEvent extends Event
6     int value;
9 // the event
10 TheEvent e;
12 // handler
13 fun int hi( TheEvent e )
15     while( true )
16     {
17         // wait on event
18         e => now;
19         // get the data
20         <<<e.value>>>;
21     }
24 // spork
25 spork ~ hi( e );
26 spork ~ hi( e );
27 spork ~ hi( e );
28 spork ~ hi( e );
30 // infinite time loop
31 while( true )
33     // advance time
34     1::second => now;
36     // set data
37     Std.rand2( 0, 5 ) => e.value;
39     // signal one waiting shred
40     e.signal();