multithreading - أدوب إير AS3: كيفية تشغيل وظيفة في العاملين_التبريد المتعدد(من قبل العمال)



actionscript-3 flash (1)

وثائق العمال الرسمية ( http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/flash/system/Worker.html ): يتم إنشاء كل عامل إضافي من صندوق سوف منفصل.

وبالتالي، فإنك إما لترتيب التعليمات البرمجية الثقيلة الخاصة بك كما سوف إضافية أو ريفاكتور ذلك حتى تتمكن من وقفة واستئنافه ونشر تنفيذها على طول إطارات متعددة (الأحداث ENTER_FRAME، وليس إطارات المخطط الزمني، أوفك).

بس على نفس صفحة الوثائق هناك طريقة لتشغيل سوف الرئيسي في اثنين من العمال حتى تتمكن من شوكة في السيطرة على تطبيق وتطبيق عامل.

 // The primordial worker's main class constructor
 public function PrimordialWorkerClass()
 {
   init();
 }

 private function init():void
 {
   var swfBytes:ByteArray = this.loaderInfo.bytes;

   // Check to see if this is the primordial worker
   if (Worker.current.isPrimordial)    
   {
     // create a background worker
     var bgWorker:Worker = WorkerDomain.current.createWorker(swfBytes);

     // listen for worker state changes to know when the worker is running
     bgWorker.addEventListener(Event.WORKER_STATE, workerStateHandler);

     // set up communication between workers using 
     // setSharedProperty(), createMessageChannel(), etc.
     // ... (not shown)

     bgWorker.start();
   }
   else // entry point for the background worker
   {
     // set up communication between workers using getSharedProperty()
     // ... (not shown)

     // start the background work
   }
 }

لدي وظيفة الثقيلة التي ليست مناسبة ليتم تنفيذها في الجدول الزمني الرئيسي (لأنه يأخذ وقتا طويلا ليتم الانتهاء من وتعطل البرنامج). لذلك بحثت عن تعدد العلامات في الهواء (as3) ولكن كل الأمثلة وجدت وجدت كيفية تشغيل ملفات سوف منفصلة في العمال. كيف يمكنني تشغيل وظيفة في عامل (موضوع)؟





adobe