خلافًا للمفاهيم الخاطئة الشائعة ، لا ينشئ Async/Await مؤشرات ترابط جديدة. بدلاً من ذلك ، توظف تعدد المهام التعاونية لتحسين استجابة التطبيق بشكل كبير.
كيف يعمل Async/ينتظر
يقسم المترجم طرقًا بذكاء باستخدام ASYNC/ينتظر إلى قسمين:
في انتظار
الكلمة الرئيسية ، بما في ذلك بدء العمليات غير المتزامنة. في انتظار
الكلمة الرئيسية. تسلسل التنفيذ:
في انتظار
. تسمى العملية غير المتزامنة (على سبيل المثال ، getSomethingAsync ()
). تقوم هذه العملية بإرجاع نتيجة معلقة (مثل مهمة
). SynchronizationContext
بالإشارة إلى إكمال العملية غير المتزامنة. يعود التحكم إلى حلقة الرسالة ، مما يسمح لها بمعالجة المهام الأخرى. SynchronizationCoxt
إشعارًا. SynchronizationContext
يضيف رسالة إلى قائمة انتظار حلقة الرسالة ، مما يؤدي إلى تنفيذ الجزء 2. تعالج حلقة الرسالة هذا ، إعادة تشغيل الطريقة من النقطة بعد
في حين أن العملية غير المتزامنة معلقة ، تظل حلقة الرسالة مجانية للتعامل مع تحديثات إدخال المستخدم وتحديثات واجهة المستخدم ، مع الحفاظ على استجابة التطبيق. عند الانتهاء ، يقوم الجزء 2 بتحديث حالة التطبيق.
اعتبارات مهمة:
async/await يستخدم تعدد المهام التعاونية عبر
العمليات غير المتزامنة غير محبوطة بطبيعتها ، حيث تحافظ على نشاط حلقة الرسائل. تنصل: جميع الموارد المقدمة هي جزئيًا من الإنترنت. إذا كان هناك أي انتهاك لحقوق الطبع والنشر الخاصة بك أو الحقوق والمصالح الأخرى، فيرجى توضيح الأسباب التفصيلية وتقديم دليل على حقوق الطبع والنشر أو الحقوق والمصالح ثم إرسالها إلى البريد الإلكتروني: [email protected]. سوف نتعامل مع الأمر لك في أقرب وقت ممكن.
Copyright© 2022 湘ICP备2022001581号-3