スレッド
スレッドってなかなか理解しにくいのですが、音楽的に考えると必要だと実感できます。ベースを関数でまとめて、関数でまとめたドラムも同時に鳴らしたい場合は以下のようでは”うまくない”。
fun void bass(){<<<"bass">>>;2::second => now;} fun void drum(){<<<"drum">>>;2::second => now;} bass(); drum();
bass()が終了してからdrum()が実行されます。
以下は10秒の間に2秒毎にbassとdrumを同時に表示します。それで同時に実行させるにはsporkを使っています。
fun void bass() { while( true ) { <<<"bass">>>; 2::second => now; } } fun void drum() { while( true ) { <<<"drum">>>; 2::second => now; } } spork ~ bass(); spork ~ drum(); 10::second => now;
ベースのスペル間違えていたので修正。おハズカシイ。