জাভাস্ক্রিপ্ট টিউটোরিয়াল-শিখুন গল্পে গল্পে সাথে 1100+ Exercise

  • জাভাস্ক্রিপ্ট পরিচিতি-Introduction to JavaScript
  • প্রোগ্রামিং শুরু করতে কতটুকু গণিত লাগে?
  • প্রোগ্রামিং শুরু করতে কতটুকু ইংরেজি জানা লাগে?
  • ভালো প্রোগ্রামার কিভাবে হবো? [+৭টি গুরুত্বপূর্ণ টিপস]
  • Single-threaded পিঁপড়া
  • Time ছাড়া Timeout
  • জাভাস্ক্রিপ্টের স্যুপ Event loop
  • রহস্যময়ী জাভাস্ক্রিপ্টের আসল রূপ

Single-threaded পিঁপড়া 

Uploaded Image



পিঁপড়ারা যখন খাবার খুঁজে পায়, তারা খাবার থেকে তাদের বাসা পর্যন্ত একটা রাস্তা তৈরি করে। তাদের চলাফেরা হয় একজনের পর একজন, কেউ কাউকে অতিক্রম করে না। তারা একটা লাইনে চলে। আর এটাই হচ্ছে Single-threaded। মানে এক লাইনে চলে বা একসাথে একটা কাজ করে। একটা কাজ শেষ হলে তারপরের কাজটা করে। আশেপাশে ঠুসা দেয় না। 


জাভাস্ক্রিপ্টে কোড যখন চলে, সে সোজা লাইনে ওপর থেকে নিচের দিকে যায়। যেমন ধর, আমরা এই তিনটা জিনিসকে আউটপুটে দেখতে চাই—


  console.log(1);
  console.log(2);
  console.log(3);

Output:
  1
  2
  3


দেখবি, সিরিয়াল অনুসারে বা সিকোয়েন্সিয়াল জিনিসগুলা আউটপুটে দেখাচ্ছে। এমনকি মাঝখান থেকে একটা ফাংশনকে কল করলেও সিমিলার স্টাইল থাকবে। অর্থাৎ ওপর থেকে নিচের দিকে সিরিয়ালমতো যাবে।


  console.log(1);
  console.log(2);
  doSomething();
  console.log(4);
  console.log(5);
  console.log(6);

  function doSomething() {
    console.log(3);
  }

Output:
  1
  2
  3
  4
  5
  6


এখানেও সে কিন্তু সিকোয়েন্সিয়াল আউটপুট দেখিয়েছে। একদম ওপর থেকে নিচে। মাঝখানে ফাংশন কল করার দরকার হলে সেটাকে কল করে আউটপুট দেখিয়ে তার পরের লাইনে গেছে। 


বাই নেচার জাভাস্ক্রিপ্ট single-threaded অর্থাৎ সে একটা সিরিয়ালওয়াইজ রাস্তা মেইনটেইন করে বা লাইন বাই লাইন কাজ করে। এইটা আপাত দৃষ্টিতে সত্যি হলেও পুরাপুরি সত্যি না; বরং এর ভিতরে আরও একটা কাহিনি আছে। সেই কাহিনি না হয় একটু পরে শুনবি। 


মাঝেমধ্যে তুই শুনবি Synchronous নামে একটা কঠিন শব্দ। এইটার মানে হচ্ছে সমানতালে চলা বা তালে তাল মিলিয়ে চলে। যেমন, আমরা যদি প্যারেড করতে দেখি বিজয় দিবসে, তখন দেখি, আর্মি অফিসাররা সমানতালে পা ফেলে ফেলে যাচ্ছে। একটু আগেপরে বা একটু এলোপাথাড়িভাবে চলাফেরা করতেছে না। খুবই শৃঙ্খলভাবে চলতেছে। 


Synchronous মানে সিরিয়ালমতো সিরিয়াল মেইনটেইন করে চলে। এক লাইনে চলে। এইটাকে আবার কেউ কেউ Single-threaded বা একটা লাইন বা সুতার ওপরে চলার সাথে তুলনা করে। 


Practice: 



  1. সিঙ্ক্রোনাস কোডের মধ্যে ফাংশন কল করার পর কী হবে?
  2. জাভাস্ক্রিপ্ট কি সিঙ্গেল থ্রেডেড?


Previous ChapterNext Page