البرمجة

تنفيذ متعدد لـ Intent باستخدام IntentService

عند استخدام IntentService في أندرويد، يتم تنفيذ الأنشطة (Intents) التي ترسلها إلى الخدمة بشكلٍ تسلسلي، وليس بتوازي. يتم تنفيذ كل Intent في خطوة بعد الأخرى في نفس الخدمة (على نفس الخيط الرئيسي للخدمة). هذا يعني أنه عندما ترسل Intent جديدة للـIntentService والخدمة ما زالت تعمل على Intent سابقة، سيتم تنفيذ الـIntent الجديدة بعد الانتهاء من الـIntent الحالية.

لإنشاء عدة خدمات Intent متزامنة، يمكنك ببساطة إنشاء عدة كائنات IntentService مختلفة، كل واحدة تعمل بمفردها على خيطها الخاص. يمكنك تحقيق ذلك عن طريق تمرير معرف الفئة المختلفة عند إنشاء Intent:

java
Intent someIntent1 = new Intent(this, MyIntentService1.class); Intent someIntent2 = new Intent(this, MyIntentService2.class); Intent someIntent3 = new Intent(this, MyIntentService3.class); startService(someIntent1); startService(someIntent2); startService(someIntent3);

هذا الكود سينشئ ويبدأ ثلاث خدمات Intent مختلفة، كل منها سيعمل في خيطه الخاص.

المزيد من المعلومات

عندما تقوم بإرسال Intent لـ IntentService باستخدام startService(intent)، يتم وضع الـ Intent في طابور انتظار داخل الـ IntentService، وسيتم تنفيذها واحدة تلو الأخرى في الـ thread الرئيسي للـ IntentService. يعني هذا أنه في الوقت الحالي، لا يمكنك تنفيذ عدة Intent في وقت واحد داخل نفس IntentService.

إذا كنت تحتاج إلى تنفيذ عدة Intent بشكل متزامن في threads مختلفة، يمكنك استخدام IntentService المتعدد، أي إنشاء عدة خدمات Intent مختلفة لتنفيذ كل Intent في thread خاص به.

مقالات ذات صلة

زر الذهاب إلى الأعلى
إغلاق

أنت تستخدم إضافة Adblock

يرجى تعطيل مانع الإعلانات حيث أن موقعنا غير مزعج ولا بأس من عرض الأعلانات لك فهي تعتبر كمصدر دخل لنا و دعم مقدم منك لنا لنستمر في تقديم المحتوى المناسب و المفيد لك فلا تبخل بدعمنا عزيزي الزائر