2

子シュレッドへの参照がある場合、ChucK 子シュレッドの実行がいつ終了したかを判断することは可能ですか? たとえば、次のコードで:

// define function go()
fun void go()
{
    // insert code
}

// spork another, store reference to new shred in offspring
spork ~ go() => Shred @ offspring;

offspring実行がいつ完了したかを判断することは可能ですか?

4

1 に答える 1

4

そうだと思いますが、最新リリースの「VERSIONS」ファイルから引用させてください。

  - (added) int Shred.done()  // is the shred done?
            int Shred.running()  // is the shred running? 

「実行中」が何を指しているのか100%わかりませんが(おそらく私はそれを誤解していますか?)、「完了」はあなたのニーズに合っているようです。

================== 8 <================

fun void foo()
    {
    second => now;
    }

spork ~ foo() @=> Shred bar;

<<<bar.done()>>>;
<<<bar.running()>>>; // why is this 0? Bug?
2::second => now;
<<<bar.done()>>>;
<<<bar.running()>>>;

========== 8 <======================

シュレッドプロセスがアタッチされていないシュレッドオブジェクトでこれらを呼び出すと、多かれ少なかれ乱数が返されることに注意してください。これはおそらくバグです。

---チャックユーザーのメーリングリストに関するKassenからの回答。

于 2008-09-19T23:03:03.453 に答える