مقایسه ی Asynchronous با Synchronous

مقایسه ی Asynchronous با Synchronous

در جاوا اسکریپت در حالت پیش فرض کد ها به صورت Synchronous اجرا می شوند؛ حالا این Asynchronous یا Synchronous چیست ؟!

در این نوشته به مقایسه ی Asynchronous با Synchronous می پردازیم.

همراه ما باشید.

 

مقایسه ی Asynchronous با Synchronous

مقایسه ی Asynchronous با Synchronous

اگر بخواهیم تعریف عامیانه ای از Synchronous رو بگوییم:

حالت اول در این حالت در هر لحظه از زمان یک خط از کد ما اجرا خواهد شد.

اگر محیط اپلیکیشن خود را رستوران در نظر بگیریم و خود اپلیکیشن را گارسون و کلاینت را مشتری، به این صورت خواهد بود که اول گارسون به میز شماره ی یک می رود سفارش را گرفته و  او منتظر می نشیند تا سفارش میز شماره ی یک آماده شود و بعد از تحویل سفارش سراغ میز شماره ی دو می رود.

خب چنین راهکاری قطعا منطقی نخواهد بود.

کد های ما هم در حالت پیش فرض این شکلی کار می کنند. (خط به خط تا انتها)

 

بررسی Asynchronous

بهتر بود اگر گارسون سراغ چند میز که آماده سفارش دادن هستند برود و سفارش را دریافت کند و به کیترینگ تحویل دهد؛ هر زمان که سفارش میزی آماده شد آن را تحویل می دهد؛ به این صورت وقفه ای در کار های اجرایی رستوران پیش نخواهد آمد.

حالت دوم یعنی Asynch و در عمل به این صورت است که کارهایی که انجام دادن آنها نیازمند صرف زمان هستند باید به صورت Asynch  نوشته شوند و در این حالت اپلیکیشن ما کارش متوقف نمی شود تا یک سفارش به مرحله پایانی برسه و بعد سراغ سفارش بعدی برود.

 

Asynch چه زمانی استفاده می شود؟

وقتی قرار است یک اتفاقی رخ دهد که نیازمند صرف زمان است مثلا:

وقتی قرار است یک فایل دانلود یا آپلود شود وقتی از توابع Asynch استفاده شود، اپ ما کار خودش رو ادامه می دهد تا مرحله آپلود یا دانلود به اتمام برسد.

 

جمع بندی

Asynch به ما کمک می کند تا کاربر را از فهم منطق برنامه دور نگه داریم؛ چون نیازی نیس کلاینت از پس زمینه ی کار با خبر شود مطقی نیست که صبر کنیم تا کارش تموم شود و سپس سراغ کار بعدی برویم.

 

مقایسه ی SSR با CSR

 

نظرات خود را در این زمینه برای ما بنویسید.

موفق باشید.

برای امتیاز به این نوشته کلیک کنید!
[کل: 1 میانگین: 5]
با دوستانتان به اشتراک بگذارید

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

*

code