ডার্ট প্রোগ্রামিংয়ের খুবই গুরুত্বপূর্ণ ফিচার Async & Await কি? কেন?


আজকে  ডার্ট  প্রোগ্রামিংয়ের খুবই  গুরুত্বপূর্ণ  টপিক  Async  &  Await  নিয়ে আলোচনা করব।  এই  টপিক  নিয়ে আলোচনার পূর্বে আমাদের Synchronous & Asynchronous Program Execution  সম্পর্কে  জানতে হবে।

Synchronous Programming : শুরুতেই কয়েকটি বৈশিষ্ট্য  জেনে নেই-
১. এখানে একই সময়ে Program execute হবে line by line.
2. যখন কোন Function কে কল করা হবে,  তখন ঐ ফাংশনটি Return  না করা পর্যন্ত কিনবা ফাংশনটির কাজ শেষ না হওয়া পর্যন্ত পরবর্তী  statement execute  হব না।  উদাহরণ দেখে ধারনা পরিষ্কার  করি -
statement 1..... execute
Function (); // 1s 2s 3s 4s.... execute
Statement 2 ..... execute
statement 3 ..... execute

Asynchronous Programming: এখানে প্রোগ্রাম line by line execute হবে না। যখন কোন Function  call করা হয়, তখন ফাংশন সম্পূর্ণ  হতে যে সময় লাগবে তার জন্য অপেক্ষা  না করে পরবর্তী  statement execute  করবে। চলুন উদাহরণ  দেখি-
statement 1...  // execute
function  () // waiting
statement 2 ...  // done
statement 3 ... // done


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

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




*********** Happy Programming ***********
https://mehedihasaninfo.com/





Comments

  1. well said vaiya r Picture Diagram tar jonne bujte paro easy hoye geche😊

    ReplyDelete
  2. This comment has been removed by the author.

    ReplyDelete

Post a Comment

Popular posts from this blog

Business Benefits of Using Flutter Technology

অবজেক্ট ওরিয়েন্টেড প্রোগ্রামিং বেসিক কনসেপ্ট

ডার্ট প্রোগ্রামিং ল্যাঙ্গুয়েজ দিয়ে অপ্রত্যাশিত ইভেন্ট বা ঘটনা কিভাবে হ্যান্ডেল করবেন?