có là không có lý do thực sự có một semaphore nhị phân như tất cả mọi thứ mà một semaphore nhị phân có thể có thể cũng được thực hiện bởi một ReentrantLockNếu tất cả bạn cần là reentrant loại trừ lẫn nhau, sau đó có, đó là không có lý do để sử dụng một semaphore nhị phân trên một ReentrantLock. Nếu vì lý do nào bạn cần ngữ nghĩa không sở hữu phát hành sau đó rõ ràng là semaphore là lựa chọn duy nhất của bạn.Cũng kể từ khi reentrant ổ khóa cũng cung cấp một khóa mỗi đối tượng, không phải là nó luôn luôn một ý tưởng tốt hơn để thích một khóa reentrant semaphore nhị phân?Nó phụ thuộc vào sự cần thiết. Như đã giải thích, nếu bạn cần một mutex đơn giản, sau đó không chọn một semaphore. Nếu nhiều hơn một thread (nhưng một số giới hạn) có thể nhập một phần quan trọng, bạn có thể làm điều này thông qua thread-giam hoặc một semaphore.Tôi đã kiểm tra một bài đăng ở đây mà nói về sự khác biệt giữa một semaphore nhị phân và mutex một, nhưng có một điều như mutex một trong Java?
đang được dịch, vui lòng đợi..
