مرجع تخصصی برنامه نویسان

انجمن تخصصی برنامه نویسان فارسی زبان

کاربر سایت

mortezaz

عضویت از 1395/01/27

برنامه نویسی موازی

  • چهارشنبه 6 تیر 1397
  • 15:27
تشکر میکنم

سلام روز بخیر

در مقاله زمیمه شده دلیل به این شکل فراخوانی کردن چی هستش؟

            var country = GetCountryAsync();
            var state =  GetStateAsync();
            var city =  GetCityAsync();

            var content = await country;
            var count = await state;
            var name = await city;

وچرا وقتی کد رو به شکل زیر مینویسیم به صورت معمولی اجرا میشه و از حالت موازی در میاد. مرسی

            var country =await GetCountryAsync();
            var state = await GetStateAsync();
            var city = await GetCityAsync();

https://barnamenevisan.org/Articles/Article6048.html

ضمننا اگه ممکنه چنتا مقاله که توو این نکات ریز تر بشه رو بهم رفرنس بدید بی زحمت مرسی

پاسخ های این پرسش

تعداد پاسخ ها : 2 پاسخ
کاربر سایت

salman_b

عضویت از 1396/02/18

  • چهارشنبه 6 تیر 1397
  • 16:05

سلام

مورد اول باعث میشه تمام درخواست ها صادر بشن و به ترتیب منتظر دریافت مقدار بمونن

مورد دوم باعث میشه تا به ترتیب درخواست اول صادر بشه و تا زمانی که جوابش رو دریافت نکرده درخواست بعدی صادر نمیشه. با این کار میتونین main thread برنامه رو از حالت قفل شدن دربیارین.

برای کسب اطلاعات بیشتر به نظرم راجع به none blocking I/O تحقیق کنید.

اینکه حالا چرا بیاین از اولی استفاده کنین یا به شیوه ی دوم دیگه بستگی به خودتون داره که نیازتون چی هستش.

اگه سه درخواست به هم ربطی نداشته باشن خب قطعا حالتی که هر سه ارسال بشن بهتر از حالتی که منتظر نتیجه ی درخواست قبلی بمونن.

کاربر سایت

ایمان مدائنی

عضویت از 1392/01/20

  • چهارشنبه 6 تیر 1397
  • 16:59

این لینک رو هم ببینید 

کاربرانی که از این پست تشکر کرده اند

هیچ کاربری تا کنون از این پست تشکر نکرده است

اگر نیاز به یک مشاور در زمینه طراحی سایت ، برنامه نویسی و بازاریابی الکترونیکی دارید

با ما تماس بگیرید تا در این مسیر همراهتان باشیم :)