সিনক্রোনাস ও অ্যাসিনক্রোনাস প্রোগ্রামিং ইন জাভাস্ক্রিপ্ট।

Sohel RanaSohel Rana
2 min read

সিনক্রোনাসঃ

সিনক্রোনাস মানে একের পর এক কাজ করা বা হওয়া।

ধরুন,
একটা প্রোগ্রাম এ তিনটি লাইন আছে। এটা যদি সিনক্রোনাস হয়ে থাকে তাহলে লাইন বাই লাইন কোড গুলা রান করবে। ১,২ এবং ৩ এই অনুযায়ী।
কোনো লাইন বা কাজ শেষ না হওয়া পর্যন্ত পরের কাজ শুরু হবে না। অর্থাৎ প্রথম কাজ টা শেষ হলেই দ্বিতীয় কাজ শুরু হবে। এ ক্ষেত্রে CPU এর সিঙ্গেল থ্রেড এ কাজ করা হয়ে থাকে।

নিচের উদাহরন থেকে সহজেই বুঝতে পারবেন।

অ্যাসিনক্রোনাস

অ্যাসিনক্রোনাস মানে হলো একসাথে একাধিক কাজ করতে পারা বা করা। এখানে কোন কাজ বা ধাপ কারো জন্য অপেক্ষা করবে না। প্রত্যেকটা কাজ আলাদা আলাদা রান করবে বা এক্সিকিউট হবে।

ধরুন,

আপনার তিনটা ফাংশন আছে সিরিয়াল (one, two and three) অনুযায়ী। প্রথম ও তৃতীয় এই দুটি ফাংশন সিনক্রোনাস বা এদের কাজে করতে এক্সটা কোন সময় এর প্রয়োজন হয় না। আর দ্বিতীয় এর কাজ করতে ৩ সেকেন্ড সময় লাগবে। যদি এই ক্ষেত্রে অ্যাসিংক্রোনাস হতো তাহলে প্রথম কাজটি শেষ হওয়ার ৩ সেকেন্ড সময় অপেক্ষা করার পর তৃতীয় কাজটি শুরু হবে।

যেহেতু এক্ষেত্রে অ্যাসিংক্রোনাস তাই প্রথম ও তৃতীয় কাজটি আগেই শেষ হয়ে যাবে তার পর(৩ সেকেন্ড পর) দ্বিতীয় কাজটি শুরু হবে। এখানে কোন ধাপের জন্য কোন ধাপের অপেক্ষা করার প্রয়োজন হয়নি। এ ক্ষেত্রে CPU এর অন্যান্য যে থ্রেড গুলা অ্যাভেইলেবল থাকে সেগুলা ব্যবহার করে।
এইটাই মেইন পার্থক্য সিনক্রোনাস ও অ্যাসিনক্রোনাস এর মধ্যে।

নিছের উদাহরন থেকে সহজেই বুঝতে পারবেন।

এখানে ফাংশন one তার পর ফাংশন three এবং সর্বশেষ ফাংশন two call হয়েছে।

অ্যাসিনক্রোনাস কাজ করতে সিনক্রোনাস এর তুলনায় সময় কম লাগে।

সামারিঃ সহজ কথায়, কোন একটা কাজ এক জনে করা হচ্ছে সিনক্রোনাস এবং সেই কাজটা একাধিক জনে মিলে করাই হলো অ্যাসিনক্রোনাস।

আশা করছি সিনক্রোনাস ও অ্যাসিনক্রোনাস এর মধ্যে পার্থক্য বুঝতে পারেছেন।

ধন্যবাদ আপনার মুল্যবান সময় দিয়ে পড়ার জন্য।

Sohel Rana

MERN stack Developer.

0
Subscribe to my newsletter

Read articles from Sohel Rana directly inside your inbox. Subscribe to the newsletter, and don't miss out.

Written by

Sohel Rana
Sohel Rana

Assalamu Alaikum. This is my Hashnode profile. I'm a professional MERN Stack Developer. Especially I am an expert in front-end development. I am doing a job as a Frontend Developer at Binary Fusion Thank you. Best regards