জাভা থ্রেড প্রোগ্রামিং বইটি নিয়ে নিচের চমৎকার রিভিউটি লিখেছেন অরণ্য আব্দুলাহ আল মামুন ভাই।
জাভা বেসড এপ্লিকেশন ডেভেলপমেন্টের একটা গুরুত্বপূর্ন বিষয় হলো থ্রেডিং। সেইটা সার্ভার-সাইড ডেভেলপমেন্ট-ই হোক আর ক্লায়েন্ট সাইড ডেভেলপমেন্ট। সার্ভার-সাইড ডেভেলপমেন্ট এ বিভিন্ন প্রসেসকে একধিক কাজে ভাগ করে faster response করা কিংবা ক্লায়েন্ট সাইড ডেভেলপমেন্ট এ GUI এর পাশাপাশি Network request বা IO Request সঠিক ভাবে handle করা – এগুলা খুবই গুরুত্বপূর্ন বিষয়। থ্রেডিং এর concept ভালো না থাকলে ভালো মানের application develop করা এক কথায় অসম্ভব।
আমি আমার আগের company Therap এবং বর্তমান company Grab – দুই যায়গাতেই Developer Interview নেবার process এর সাথে যুক্ত ছিলাম বা আছি। Interview নেওয়ার experience থেকে একটা ব্যাপার বলতে পারি, আমরা ইন্টারভিউয়াররা candidate দের কে normally অনেক রকম question করেই যাচাই করি। যখন মনে হয়, candidate-রা মুটামুটি ভালো programming এ, তখন তাদের development knowledge এর depth যাচাই করার জন্য এই থ্রেডিং থেকেই বিভিন্নরকম প্রশ্ন করি, যেমনঃ Thread safety, race condition, synchronization, Threadpool-executor ইত্যাদি। অনেক candidate এই বিষয়গুলাতেই আটকে যায়। Programming এ Beginner থেকে Advance লেভেল এ যাবার জন্য আসলে থ্রেডিং এর ভালো concept জানা ছাড়া কোনো উপায়-ই নাই বলা যায়।
এবার আসি, “জাভা থ্রেড প্রোগ্রামিং” বইটাতে কি কি আলোচনা করা হয়েছে। ৮টা চ্যাপ্টার এ আলোচনা করা হয়েছে থ্রেডিং কী, থ্রেড তৈরি ও ব্যবহার, থ্রেড সেফটি ও ডেটা সিনক্রোনাইজেশন, কনকারেন্ট কালেকশন, ব্লকিং কিউ, এক্সিকিউটর ফ্রেমওয়ার্ক, Locks and Latches, কনকারেন্সি বনাম প্যারালালিজম। ৯ম চ্যাপ্টার এ একটা প্রজেক্ট করার ধারনা দেওয়া হয়েছেঃ মাল্টিথ্রেডেড ফাইল ডাউনলোডার।
থ্রেডিং জিনিসটা আসলেই একটু complicated. তার মধ্যে বাংলা ভাষায় এইটা নিয়ে সহজভাবে লেখার ব্যাপারে আমি আসলেই skeptical ছিলাম। বিশেষ করে অনেক english terminology এখানে ব্যাবহার করা হয়, যেগুলোর বাংলা করা বা বুঝানো বেশ কঠিন। কিন্তু overall বই পড়ে মনে হয়েছে, বজলুর বেশ ভালোভাবেই এই থ্রেডিং এবং তার আশেপাশের রিলেটেড বিষয়গুলো সহজ বাংলায় উপস্থাপন করতে পেরেছে। যারা মুটামুটি programming জানে বা beginner লেভেল এর development এর সাথে যুক্ত – তাদের এই বইটা must পড়া উচিত।
ভাষার মাসে বাংলা বই প্রকাশ, তাও আবার থ্রেডিং এর মতো জটিল বিষয়ে – ভাবতেই ভালো লাগে। By the way, এই বইটা কিন্তু অতটা বড় না; বজলুরের আগের জাভার মোটকা বইটার মতো! সুতরাং, কম সময়ে পড়ে শেষ করে ফেলা যেতে পারে; যেই কারনে আমি নিজেও বই এর রিভিউয়ার হতে রাজি হয়েছিলাম