Domanda

È possibile determinare quando un bambino ChucK shred ha terminato l'esecuzione, se si dispone di un riferimento per il bambino shred?Per esempio, in questo codice:

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

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

È possibile determinare quando offspring è in esecuzione?

È stato utile?

Soluzione

Direi quindi, permettetemi di citare il "VERSIONI" file dall'ultima release;

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

Io non sono sicuro al 100% di quello che "in esecuzione" dovrebbe vedere (forse ho frainteso?) ma il "fatto" sembra soddisfare le vostre esigenze;

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

Si prega di notare che la chiamata di questi su un Brandello oggetto senza distruggere processo collegato ad esso restituirà più o meno casuale di numeri che probabilmente è un bug.

---Risposta da Casse su chuck mailing list degli utenti.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top