برنامه نویسی غیر همزمان در Asp net core

سلام دوستان . امیدوارم که عالی باشین . من پوریا منتخبی هستم و توی این آموزش میخوام در مورد پیاده سازی Async  و Await  در زبان برنامه نویسی Asp net Core  صحبت بکنم .

این ویژگی که از سی شارپ 5 به بعد ارائه شد کار برنامه نویسا رو در پیاده سازی غیر همزمانی خیلی راحت تر کرد . قبل از Async  و Await  ها باید از Thread ها استفاده می کردیم که پیاده سازی و مدیریت این Thread ها یا به اصطلاح همون نخ ها در حجم بالا بسیار سخت و پیچیده میشد .

اما Async  چیه ؟ تو این نوع از برنامه نویسی اگر چندین متد یا عملیات (Action) قصد اجرا و پردازش رو داشته باشن میتونن توسط cpu  در صف های جداگانه  قرار بگیرن و بدون وابستگی به اتمام اجرای متد های دیگه ، پردازش و نتیجه رو به خروجی ارائه بدن . در برنامه نویسی Sync  مشکل به این صورت بود که اگر سه متد داشتیم به نام های Calc1()   و Calc2()    و Calc3()    . پردازش متد Calc2()  کاملا وابسته به Calc1() بود . یعنی تا زمانی که Calc1() پردازش بشود و نتیجه را ارائه دهد متد Calc2()  پردازش و اجرا نخواهد شد . خب این یک نقطه ضعف هست . فرض کنید در برنامه های با حجم داده های زیاد ، زمانی که شما یک متد رو اجرا می کنین باید منتظر بایستین تا اون متد کاملا اجرا بشه و بعد از اون امکان اجرای متد دیگه ای رو دارین .

توی این آموزش با استفاده از زبان برنامه نویسی Asp.net  Core  یک متد رو هم به صورت Async  و هم به صورت Sync  پیاده سازی کردم و قبل از اون یک مثال در دنیای واقعی براتون زدم که مفهومش براتون خیلی راحت تر قابل درک باشه .


ثبت دیدگاه فقط برای اعضای سایت ورود ثبت نام