سؤال

هل من الممكن تحديد متى يتم الانتهاء من تنفيذ قطعة طفل ChucK إذا كان لديك إشارة إلى قطعة الطفل؟على سبيل المثال في هذا الكود:

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

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

هل من الممكن تحديد متى offspring هل تم التنفيذ؟

هل كانت مفيدة؟

المحلول

أود أن أقول ذلك، واسمحوا لي أن أقتبس من ملف "VERSIONS" من الإصدار الأخير؛

  - (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 بدون أي عملية تمزيق مرتبطة به سيؤدي إلى إرجاع أرقام عشوائية أكثر أو أقل والتي من المحتمل أن تكون خطأ.

--- الجواب من كاسن على القائمة البريدية لمستخدمي تشاك.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top