جواب 1:

ذرا اس کا تصور کریں: - فرض کریں کہ آپ کو ایمیزون سے گھر پہنچانے کی ترسیل ہو رہی ہے۔ اس دن آپ کسی کو اپنی طرف سے ڈلیوری وصول کرنے کو کہتے ہیں۔ دریں اثنا ، آپ اپنی روزانہ کی باقاعدہ سرگرمیاں کرتے رہتے ہیں۔

اب ، اگر آپ گھر میں ہی ٹھہرنے اور ترسیل کے آنے کا انتظار کرنے کا فیصلہ کرتے ہیں تو؟ آپ کی دیگر سرگرمیوں تک آپ کو ترسیل ملنے تک انتظار کرنا ہوگا۔

پہلی صورتحال async-انتظار کی ہے جبکہ دوسری صورتحال مطابقت پذیر ہے۔

تکنیکی طور پر ، async میں انتظار کریں - آپ ایک تھریڈ (ٹاسک) تیار کریں جو نتیجہ کا انتظار کرے اور آپ کے بقیہ کوڈ پر کام جاری رہے۔

ہم وقت ساز کوڈ میں ہر چیز کا انتظار ہوگا ، جس سے آپ کے کوڈ کو "ہینگ" کر دے گا۔

upvote کرنا مت بھولنا ...


جواب 2:

دونوں پروگرام کی روانی کر رہے ہیں لیکن ایسیسنک / انتظار تھریڈ انتظار نہیں کررہا ہے اور دوسرے مقصد کے لئے استعمال کیا جاسکتا ہے۔ ہم آہنگی (مسدود) کوڈ کے معاملے میں بھی ایسا ہی ممکن نہیں ہے۔

Async / Await آپ کو صرف async کال بیکس کا استعمال کرتے ہوئے اور دستی طور پر ان کا سلسلہ بند کرنے پر چینی کو خلاصہ فراہم کرتا ہے۔

اگرچہ یہ ممکن ہے کہ رن ٹائم (مثال کے طور پر ایرنگ اور گولانگ) ساکٹ کی غیر مسدود فطرت اور فائل اسٹریمز کو اندرونی طور پر سنبھال سکے اور زبان کی سطح پر ترکیب کی طرح ہم آہنگی مہیا کریں۔

تو جیسا کہ آپ دیکھ سکتے ہیں ، وہ صرف تجریدی تعمیرات ہیں۔ آپ یہ بھی ذہن میں رکھیں کہ رن ٹائم کس قابل ہے۔

Async / Await کے استعمال میں ایک اور فائدہ یہ ہے کہ جب آپ چاہتے ہیں تو آپ انتظار کر سکتے ہیں اور فوری طور پر اتفاق رائے کو حاصل کرنے کے لئے نہیں جو رن ٹائم گرین تھریڈز کی حمایت نہیں کرتا تو یہ ممکن نہیں ہے۔