Обнаружение, когда детское клочок ChucK закончил - PullRequest
2 голосов
/ 20 сентября 2008

Можно ли определить, когда детский клочок ChucK завершил выполнение, если у тебя есть ссылка на этот клочок? Например, в этом коде:

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

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

Можно ли определить, когда offspring завершится, выполняя?

1 Ответ

4 голосов
/ 20 сентября 2008

Я бы сказал так, позвольте мне процитировать из файла "VERSIONS" из последней версии;

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

Я не уверен на 100%, что подразумевается под «бегом» (возможно, я неправильно понял?), Но «готово», кажется, соответствует вашим потребностям;

================== 8 <================ </p>

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 <====================== </p>

Обратите внимание, что вызов их для объекта Shred без прикрепленного к нему процесса shred вернет более или менее случайные числа, что, вероятно, является ошибкой.

--- Ответ от Кассена в списке рассылки chuck-users .

...