Frage

Ist es möglich, zu bestimmen, wann ein Kind ChucK Shred Ausführung beendet hat, wenn Sie einen Verweis auf das Kind shred haben? Zum Beispiel in diesem Code:

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

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

Ist es möglich, zu bestimmen, wann offspring ausgeführt wird getan?

War es hilfreich?

Lösung

würde ich sagen, ja, lassen Sie mich von der neuesten Version von der „Versionen“ Datei zitieren;

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

Ich bin nicht 100% sicher, was „läuft“ soll sich beziehen (? Vielleicht ich es falsch verstehen), aber „done“ scheint an Ihre Bedürfnisse anzupassen;

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

Bitte beachten Sie, dass diese auf einem Shred Objekt ohne Shred Prozess Aufruf an mehr oder weniger Zufallszahlen zurück, die wahrscheinlich ein Fehler ist.

--- Antwort von Kassen auf chuck-Benutzer-Mailingliste .

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top