Pregunta

¿Es posible determinar cuándo ha terminado de ejecutarse un fragmento secundario de ChucK si se tiene una referencia al fragmento secundario?Por ejemplo, en este código:

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

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

¿Es posible determinar cuándo offspring ¿Se terminó de ejecutar?

¿Fue útil?

Solución

Yo diría que sí, permítanme citar el archivo "VERSIONES" de la última versión;

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

No estoy 100% seguro de a qué se supone que se refiere "ejecutar" (¿quizás no lo entendí bien?), pero "hecho" parece satisfacer sus necesidades;

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

Tenga en cuenta que llamarlos en un objeto Shred sin ningún proceso de trituración asociado devolverá números más o menos aleatorios, lo que probablemente sea un error.

---Respuesta de Kassen en lista de correo de usuarios de chuck.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top