কম্পিউটার

C# এ অচলাবস্থা এবং অনাহার


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

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

নেয়
থ্রেড ওয়ান থ্রেড দুই
লক Pলক প্রশ্ন লাগে
অনুরোধ লক Q অনুরোধ লক P

থ্রেড ওয়ান লক কিউ পাবে না যেহেতু এটি থ্রেড টু এর অন্তর্গত। একইভাবে, থ্রেড টু লক পি পাবে না কারণ এর আসল মালিক থ্রেড ওয়ান।

ডেডলকগুলি একটি ত্রিমুখী অচলাবস্থাও হতে পারে যা তিনটি থ্রেড এবং তিনটি লক সাধারণ হলে ঘটে। একইভাবে, এটি চার-মুখী, পাঁচ-মুখী এবং অন্যান্য অচলাবস্থার জন্য ঘটতে পারে।

মাল্টিথ্রেডেড অ্যাপ্লিকেশনে এক বা একাধিক চালনাযোগ্য থ্রেডকে স্থায়ীভাবে অবরুদ্ধ করা হল অনাহার।


  1. নাম লক:এটি কী এবং এটি কীভাবে কাজ করে

  2. অ্যান্ড্রয়েডে thread.getName() এবং thread.setName() কীভাবে ব্যবহার করবেন?

  3. উইন্ডোজ 10 এবং 11 এ ক্যাপস লক কীভাবে নিষ্ক্রিয় করবেন

  4. ম্যাকোসে ফাইল এবং ফোল্ডারগুলি কীভাবে লক করবেন