Vivasoft-logo

[৪] কনকারেন্সি (Concurrency)

এই পর্যায়ে আমরা পরিচিত হবো Go কনকারেন্সির সাথে। Go প্রোগ্রামিং এ খুবই গুরুত্বপূর্ণ একটি অংশ হল কনকারেন্সি। আমরা অনেকেই কনকারেন্সি এবং প্যারালেলিজম শব্দ দুটি নিয়ে দ্বিধান্বিত থাকি। আশা রাখছি, বুটক্যাম্পের এই অংশে কনকারেন্সি এবং প্যারালেলিজম এর ধারণা পরিষ্কার হয়ে যাবে এবং Go তে এর প্রয়োগ সম্পর্কেও ধারণা পেয়ে যাবো।

 

কনকারেন্সি হল এমন একটি প্রক্রিয়া যেখানে অনেকগুলো কাজ বা অপারেশন একইসাথে সম্পাদন হতে পারে, কিন্তু একই সময়ে হতে পারে না। যেমন, একজন শ্রমিক রঙ করার কাজ এবং দেয়াল বানানোর কাজ করতে পারে। কিন্তু একই সময়ে দেয়াল বানানো এবং রং করার কাজ করতে পারে না।

Go Concurrency 1 Concurrency


             প্যারালেলিজম হল এমন একটি প্রক্রিয়া যেখানে অনেকগুলো কাজ একই সাথে এবং একই সময়ে হতে পারে। যেমন, একজন রাঁধুনি কিন্তু চাইলেই একাধিক চুলা ব্যবহার করে একসাথে কয়েকটি খাবার রান্না করতে পারেন, এখানে একটি খাবার রান্না হওয়ার জন্য আরেকটি খাবার রান্না শেষ হবার প্রয়োজন নেই।

parallelism Concurrency

Go এর নিজস্ব গো-রুটিন এবং চ্যানেলের মাধ্যমে কনকারেন্সি অর্জন করে থাকে। এই পর্যায়ে আমরা গো-রুটিন, চ্যানেল, ওয়েটগ্রুপ,  সিঙ্কগ্রুপ নিয়ে আলোচনা করবো।