Question

Est-il possible de déterminer le moment où un enfant déchiré de ChucK a fini de s'exécuter si vous avez une référence à l'enfant déchiqueté? Par exemple, dans ce code:

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

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

Est-il possible de déterminer quand offspring l'exécution est terminée?

Était-ce utile?

La solution

Je dirais que oui, permettez-moi de citer le " VERSIONS " fichier de la dernière version;

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

Je ne suis pas sûr à 100% de ce que & "lancer &"; est supposé faire référence à (peut-être que je ne le comprends pas bien?) mais & "fait &"; semble correspondre à vos besoins;

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

Notez que leur appel sur un objet Shred auquel aucun processus de déchiquetage n'est attaché renverra des nombres plus ou moins aléatoires, ce qui est probablement un bogue.

--- Réponse de Kassen sur la liste de diffusion chuck-users .

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top