Tôi đã học được rằng tôi nên mở khóa thứ tự ngược lại để khóa thứ tự. Ví dụ.Bạn có giải thích việc đặt hàng khóa không?
A.lock();
B.lock();
B.unlock();
A.unlock();
Nhưng, những gì xảy ra nếu tôi làm như thế này:
A.lock();
B.lock();
A.unlock();
B.unlock();
tôi cố gắng để thực hiện một kịch bản bế tắc, nhưng nếu tôi luôn luôn khóa Một sớm sau đó B, sau đó tôi không biết làm thế nào bế tắc sẽ xảy ra. Bạn có giúp tôi không?
Bạn đang nói về một trường hợp có nhiều quy trình giữ khóa hoặc bạn chỉ xử lý một quy trình đơn lẻ? –
nhiều quy trình, tất nhiên. –
Không phải "tất nhiên", tại sao lại có nhiều quy trình? Chỉ áp dụng tốt cho các chuỗi trong một quy trình. – djna