Определение того, когда измельчение ChucK child завершено

StackOverflow https://stackoverflow.com/questions/105771

  •  01-07-2019
  •  | 
  •  

Вопрос

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

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

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

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

Это было полезно?

Решение

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

  - (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<======================

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

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top