ডেডলক (Deadlock) ঘটে যখন একটি রিসোর্স একটি থ্রেড দ্বারা লক করা থাকে এবং একই সময়ে অন্য একটি থ্রেড সেটি প্রয়োজন হয়। এই সমস্যা মাল্টিপ্রসেসিং সিস্টেমে ঘন ঘন ঘটে।
এটি ঘটতে পারে যখন দুটি বা অধিক থ্রেড একে অপরের অধীনে থাকা রিসোর্সের জন্য অপেক্ষা করে। উদাহরণ:
| থ্রেড वन | থ্রেড টু |
|---|---|
| লক P নেয় | লক Q নেয় |
| লক Q চায় | লক P চায় |
থ্রেড ওয়ান লক Q পাবে না কারণ সেটি থ্রেড টু-এর অধীনে। একইভাবে, থ্রেড টু লক P পাবে না কারণ এর আসল মালিক থ্রেড ওয়ান।
ডেডলক থ্রি-ওয়ে (three-way) ডেডলকও হতে পারে যদি তিনটি থ্রেড এবং তিনটি লক কমন থাকে। একইভাবে ফোর-ওয়ে, ফাইভ-ওয়ে এবং অন্যান্য ডেডলকও হতে পারে।
স্টারভেশন (Starvation) হলো একটি মাল্টিথ্রেডেড অ্যাপ্লিকেশনে এক বা অধিক রানNABLE থ্রেডের স্থায়ী ব্লকিং।