Synchronous vs Asynchronous

Safaetul Ahasan
2 min readAug 30, 2021

Synchronous Programming :

- এখানে একই সময়ে Program execute হবে line by line.
- যখন কোন Function কে কল করা হবে,
তখন ঐ ফাংশনটি Return না করা পর্যন্ত কিনবা ফাংশনটির কাজ শেষ না হওয়া পর্যন্ত পরবর্তী statement execute হব না।

উদাহরণ -

statement 1… execute

Function (); // 1s 2s 3s 4s…. execute Done

then,

Statement 2 … execute

statement 3 … execute

1. Synchronous code runs in sequence.
2. Each operation must wait for the previous one to complete before executing.

Asynchronous Programming:

- এখানে প্রোগ্রাম line by line execute হবে না।
- যখন কোন Function call করা হয়,
তখন ফাংশন সম্পূর্ণ হতে যে সময় লাগবে তার জন্য অপেক্ষা না করে পরবর্তী statement execute করবে।

উদাহরণি-

statement 1… // execute

function () // waiting

statement 2 … // done

statement 3 … // done

1. Asynchronous code runs in parallel.
2. This means that an operation can occur while another one is still being processed.

asynchronous কেন এত গুরুত্বপূর্ণ ?

async প্রোগ্রামিংয়ের খুবই গুরুত্বপূর্ণ ফিচার, কারন - এটা আমাদের Future টাইপের data গুলোকে সংগ্রেহের প্রেসেস এ রেখে অন্য কাজ সমাপ্ত করতে সাহায্যে করে। ফলে প্রোগ্রাম execution time সেইভ হয় এবং সফটওয়্যারের কার্যকারিতা বৃদ্ধি পায়। কিছু সাধারন async operation যেমন - -নেটওয়ার্কের মাধ্যমে ডাটা আনা । -ডাটাবেইজ লিখা । -একটি ফাইল থেকে ডাটা পড়া ।ধরুন, আমরা api server থেকে ডাটা রিকুয়েষ্ট পাঠাব। এবং এই রিকুয়েষ্ট সার্ভার থেকে ডাটা নিয়ে response করবে। আর request এবং response এর মাঝে কিছু সময়ের দরকার পড়ে, এখন আমরা চাচ্ছি না ঐ সময়টুকু অপেক্ষা না করতে। আমরা চাচ্ছি সার্ভার যে সময়ে ডাটা প্রসেস করবে সেই সমযে আমাদের প্রোগ্রামের অনান্য statement গুলো execute করবে।

Blocking methods execute synchronously.

const fs = require('fs'); 
const data = fs.readFileSync('/file.md');

non-blocking methods execute asynchronously.

const fs = require('fs');
fs.readFile('/file.md', (err, data) => {
if (err) throw err;
});

--

--