কম্পিউটার টিউটোরিয়াল

C#-এ ডেডলক (Deadlock) এবং স্টারভেশন (Starvation)

ডেডলক (Deadlock) ঘটে যখন একটি রিসোর্স একটি থ্রেড দ্বারা লক করা থাকে এবং একই সময়ে অন্য একটি থ্রেড সেটি প্রয়োজন হয়। এই সমস্যা মাল্টিপ্রসেসিং সিস্টেমে ঘন ঘন ঘটে।

এটি ঘটতে পারে যখন দুটি বা অধিক থ্রেড একে অপরের অধীনে থাকা রিসোর্সের জন্য অপেক্ষা করে। উদাহরণ:

থ্রেড वन থ্রেড টু
লক P নেয় লক Q নেয়
লক Q চায় লক P চায়

থ্রেড ওয়ান লক Q পাবে না কারণ সেটি থ্রেড টু-এর অধীনে। একইভাবে, থ্রেড টু লক P পাবে না কারণ এর আসল মালিক থ্রেড ওয়ান।

ডেডলক থ্রি-ওয়ে (three-way) ডেডলকও হতে পারে যদি তিনটি থ্রেড এবং তিনটি লক কমন থাকে। একইভাবে ফোর-ওয়ে, ফাইভ-ওয়ে এবং অন্যান্য ডেডলকও হতে পারে।

স্টারভেশন (Starvation) হলো একটি মাল্টিথ্রেডেড অ্যাপ্লিকেশনে এক বা অধিক রানNABLE থ্রেডের স্থায়ী ব্লকিং।

  1. Num Lock: এটি কী এবং কীভাবে কাজ করে

  2. অ্যান্ড্রয়েডে thread.getName() এবং thread.setName() ব্যবহার করার পদ্ধতি

  3. 윈도우 10 및 11에서 Caps Lock 키 비활성화하는 방법

  4. macOS-এ ফাইল এবং ফোল্ডার লক করার পদ্ধতি