#load os class Test !! { routine Task1( chan : mt::Channel ){ while(1){ var data = chan.receive() io.writeln( "Task1", data ) if( data.status == $finished ) break } } routine Task2(){ for(var i = 1 : 5 ){ io.writeln( "Task2", i ) #os.sleep(0.5); } } } var test = Test() var chan = mt::Channel(1) test.Task1( chan ) test.Task2() io.writeln( "Start to send message" ) for(var i = 1 : 5 ){ io.writeln( "sending", 100*i ) chan.send( 100*i ) #os.sleep(0.5) } chan.cap(0) routine main(){ for(var i=1:10){ io.writeln( "main()" ) #os.sleep(0.5) } return 0 }