Deadlock trong Java là gì?
Deadlock trong Java là gì?
Trong Java, deadlock là một tình huống mà hai hoặc nhiều luồng (threads) bị chặn mãi mãi, chờ đợi lẫn nhau. Điều này thường xảy ra khi nhiều luồng cần cùng một khóa (lock) hoặc tài nguyên nhưng lại nhận chúng theo thứ tự khác nhau
Một ví dụ điển hình về deadlock là tình huống "Alphonse và Gaston" mà hai người bạn này cùng cúi chào nhau và không ai đứng lên trước khi người kia đứng lên, dẫn đến việc họ cúi chào nhau mãi mãi. Trong lập trình đa luồng, điều này tương đương với việc mỗi luồng giữ một khóa và đợi khóa mà luồng khác đang giữ, khiến cả hai không thể tiếp tục thực thi.
Có bốn điều kiện cần thiết để xảy ra deadlock:
middle
Gợi ý câu hỏi phỏng vấn
Chưa có bình luận nào