Synchronous vs Asynchronous

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;
});

--

--

--

Software Engineer

Love podcasts or audiobooks? Learn on the go with our new app.

Recommended from Medium

Why Calculus Is Important

What I learned teaching a 5-year-old how to solve a Rubik’s Cube

Photo by George Bakos on Unsplash

5 top CMS platforms for 2022: Which one is right for you?

Emus4u App Download ( iOS & Android ) | Official Website

Don't miss out on vconomics

Hasura in a nutshell

Adding Charts to Rails with Chartkick, HighCharts and Groupdate

Microsoft Certified Azure Administrator: Part 3— Virtual Machines.

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store
Safaetul Ahasan

Safaetul Ahasan

Software Engineer

More from Medium

Why should you program using TDD

Merge Request in Git: Brand New Culture in the 21st Century

Testivus: Unit Testing Philosophy

Configuring Auth0 with WSO2 API Manager for SSO