آموزش برنامه نویسی غیر همزمان (Asynchronous) در سی شارپ
جلسات دوره
مهدی عباسی
مهدی عباسی هستم، مسلط به حداقل ۲۰ زبان مطرح برنامه نویسی به صورت پیشرفته، مدیر عامل شرکت آریا نرم افزار و بنیانگذار آکادمی درسمن، مسلط به تدریس دروس تخصصی کاردانی و کارشناسی کامپیوتر، پایگاه داده ها، برنامه نویسی پیشرفته، مبانی برنامه نویسی، مباحث ویژه طراحی وب و .... مشاهده رزومه
یادگیری برنامه نویسی غیرهمزمان (Asynchronous) در زبان سی شارپ:
در جلسه قبل در مورد threadها صحبت کردیم. گفتیم که شما میتوانید به کمک thread ها بخشی از فرآیندها را انجام دهید و این امکان به وجود میآید که وقتی شما چندین thread یا نخ دارید چندین فرآیند به صورت نسبتا همزمان یا همروند پیش روند وهمه چیز یک به یک اتفاق میافتد. وقتی تابعی را فراخوانی میکنید که یک عمل طولانی مدت را انجام میدهد، فقط هنگامی که عمل به پایان رسیده است باز می گردد و میتواند نتیجه را برگرداند. این برنامه شما را برای مدت زمان انجام عمل متوقف میکند.
در این آموزش میخواهیم در مورد برنامه نویسی غیرهمزمان (Asynchronous) در زبان C# توضیح دهیم. این سبک برنامه نویسی از C# 0.5 به بعد اضافه شد و البته بسیار بسیار ساده تر و قابل فهم تر ازthread ها بود. معمولا در پروژه های بزرگ وقتی از چندین thread استفاده میکنیم مدیریت این thread ها برای ورودی به لحظات بحرانی برنامه سخت میشد. در برنامه نویسی همزمان، درخواست ها یکی پس از دیگری انجام میشود، این یک اشکال دارد که درخواست دوم فقط پس از پایان درخواست اول انجام میشود و کل زمان گرفته شده حداقل مجموع دو زمان پاسخ خواهد بود.
اما در برنامه نویسی غیرهمزمان چندین اتفاق همزمان اتفاق میافتد. هنگامی که عملی را شروع میکنید، برنامه شما همچنان اجرا میشود. وقتی این کار به پایان رسید، برنامه مطلع میشود و به نتیجه دسترسی پیدا میکند. رشته دوم میتواند درخواست دوم را شروع کند و سپس هر دو رشته منتظر بازگشت نتایج خود هستند و پس از آن دوباره هماهنگ می شوند تا نتایج خود را ترکیب کنند.
برنامه نویسی غیر همزمان با استفاده از دستورات async و await پیاده سازی میشود. در واقع وقتی از acync استفاده میکنیم یعنی اینکه قراراست یک برنامه غیر همزمان بنویسیم و await به ما کمک میدهد که هرجا نیازاست که cpu باید روی یک thread یا نخ تمرکز کند یا اینکه نه اجازه دارد ادامه دهد و نیاز نیست تا پایان آن فرایند thread صبر کند.
برای یادگیری این مبحث مثال ها و نکته های متعددی را در فایل ویدئویی آورده ایم که با تهیه این درس و مشاهده ویدئو ها به طور کامل به این مبحث مسلط خواهید شد.
امیدواریم که این آموزش، برای شما دوستان درسمنی عزیز مفید باشد، درصورت سوال و یا مشکل می توانید به انجمن برنامه نویسان سی شارپ مراجعه کنید. پیشنهادات و انتقادات خود را در بخش نظرات برای ما ارسال کنید.
انجمن برنامه نویسان سی شارپ
نظر شما در تصمیم دیگران اثرگذار است.
لطفا برای همراهان درسمن و بهتر شدن دوره نظر خود را بنویسید.