يعني اي async و await
و بيعملوا ايه ومعناهم ايه اصلا ؟! تعالي اجاوبك
عندنا dart بتشتغل ب single thread وده معناه انها شغاله علي thread واحد بال memory بتاعته الخاصه وبتنفذ كل حاجه عليه.
طيب ولو عايز انفذ حاجتين مع بعض في نفس الوقت اعمل ايه؟
هنا يجيي عندنا مفهومين لازم نفهم كويس وهم parallelism و concurrency.
ال parallelism هو القدره انك توزع ال tasks بتاعتك علي كذا thread وعندنا في dart ال thread بيتمثل في حاجه اسمها isolate وبيتم التواصل بين ال isolates وبعض عن طريق ال messaging، المميز في dart هنا ان كل isolate ليه ال memory بتعته يعني مش هيحصل اي conflict بين ال isolates زي مثلا ان ال isolates يغييروا قيمة variable واحد مع بعض.
ال concurrency هي القدره انك تنفذ كذا task علي نفس ال thread في نفس الوقت ان امكن، يعني مثلا انا عندي 2 tasks فاشتغل علي اول task شويه بعديين اروح اشتغل علي التانيه شويه بعيين علي الاولي شويه وهكذا.
هنلاقي ان await و async بيقعوا تحت مفهوم ال concurrency بكل بساطة async بتديني القدره ان اوقف تنفيذ ال function اللي انا فيها حاليا عشان انتظر اللي هو ا await نتيجة معينه بس بقيه ال app شغال عادي مش واقف، انا هنا بوقف ال async function بس، انما بقية ال app شغال عادي.
ال async هنا بتقول لل event loop كمل انت في شغلك عادي خالص بس اعمل حسابك هيجيلك response كذا وقتها كمل ال function دي.
#منقول
Post #2257
6.82K
- 🔥 28
- ❤🔥 5
- ⚡ 1