در این مقاله میخواهیم در مورد برنامه نویسی غیرهمزمان در سی شارپ صحبت کنیم.
برنامه نویسی غیرهمزمان (Asynchronous) در سی شارپ از نسخه 5 زبان سی شارپ ارائه شد .
برنامه نویسی غیرهمزمان یا Asynchronous یک مدل برنامه نویسی است. در برنامه نویسی غیرهمزمان برعکس روش Synchronous که کد های به ترتیب و از بالا به پایین خط به خط اجرا میشدند اکنون کد ها به ترتیب و پشت سر هم اجرا نمی شوند و اجرا خط 21 وابسته به اجرای خط 20 نیست. برای مثال میتوانیم بگوییم که یک بخش برنامه در حال دانلود یک فایل میباشد، بخش دیگر درحال آپلود یک فایل و از آنجایی که اجرای کد ها به صورتخطی نیست این دو با یکدیگر تداخلی نخواهند داشت،اما شاید برایتان سوالی پیش آید که چرا ترتیب اجرای کد ها را در برنامه بهم میریزیم؟:/
از آنجایی که امروزه cpu ها بسیار قدرتمند شده اند و دارای هسته های متعددی هستند پس زیاد معقول نیست تا cpu را حتی یک لحظه بیکار بگذاریم، با کمک روش برنامه نویسی غیرهمزمان یا Asynchronous میتوانیم نهایت استفاده را از cpu داشته باشیم و چندین کار را در کنار یکدیگر انجام دهیم.
تا این جا متوجه شدیم که Asynchronous دقیقا نقطه مقابل Synchronous قرار دارد.درست است که در برنامه نویسی غیرهمزمان چندین کار را باهم اجرا میکنیم اما هیچ تضمینی وجود ندارد که بگوییم که حتما سرعت اجرای برنامه بالا میرود، حتی امکان دارد در بعضی موارد که نیاز به پردازش های سنگین دارد سرعت اجرای برنامه کاهش پیدا کند، پس اگر برای بالا برد سرعت برنامه خود میخواهید از Asynchronous استفاده کنید باید بگویم که باید تجدید نظر کنید، استفاده از برنامه نویسی غیرهمزمان در جای مناسب خود میتواند نتایج بسیار خوبی در بر داشته باشد.
در این مقاله از سایت ارگن بررسی کردیم که مفهوم Asynchronous چیست و چه کاربردهایی دارد.در ابتدا در مورد برنامه نویسی همزمان یا Synchronous بحث کردیم و گفتیم که کد ها در این روش به صورت خطی اجرا میشوند، در ادامه هم به بررسی مدل برنامه نویسی غیرهمزمان یا Asynchronous پرداخیتم و گفتیم که در این روش کد ها به ترتیب اجرا نمی شوند و ترتیب اجرا را بهم زدیم و cpu را کنترل کردیم.در کا استفاده از برنامه نویسی غیرهمزمان در جای مناسب خود بسیار لذت بخش خواهد بود.
پیشنیاز ها :
منبع: ergan.ir