Một reentrant loại trừ lẫn nhau Lock với các hành vi cơ bản giống nhau và ngữ nghĩa như khóa màn hình ngầm truy cập sử dụng phương pháp đồng bộ và báo cáo, nhưng với khả năng mở rộng.
Một ReentrantLock được sở hữu bởi các sợi cuối khóa thành công, nhưng chưa mở khóa nó. Một khóa cách gọi chủ đề sẽ trở lại, có được thành công khóa, khi khóa sẽ không được sở hữu bởi chủ đề khác. Phương pháp này sẽ trở lại ngay lập tức nếu các chủ đề hiện đã sở hữu khóa. Điều này có thể được kiểm tra bằng phương pháp isHeldByCurrentThread (), và getHoldCount (). Các nhà xây dựng cho lớp này chấp nhận một tham số tùy chọn công bằng. Khi thiết lập đúng, dưới tranh, khóa Favor cấp quyền truy cập đến các chủ đề lâu nhất chờ đợi. Nếu khóa này không đảm bảo bất kỳ để truy cập cụ thể. Chương trình sử dụng ổ khóa bằng truy cập bởi nhiều chủ đề có thể hiển thị thông thấp hơn tổng thể (tức là chậm hơn, thường chậm hơn nhiều) so với những người sử dụng các thiết lập mặc định, nhưng có chênh lệch nhỏ hơn trong thời gian để có được ổ khóa và thiếu bảo lãnh của nạn đói. Tuy nhiên lưu ý, đó là sự công bằng của ổ khóa không đảm bảo sự công bằng của lịch chủ đề. Vì vậy, một trong nhiều chủ đề bằng cách sử dụng khóa công bằng có thể có được nó nhiều lần liên tiếp trong khi đề đang hoạt động khác không được tiến triển và hiện không giữ khóa. Cũng lưu ý rằng phương pháp tryLock untimed không tôn vinh các thiết lập sự công bằng. Nó sẽ thành công nếu khóa là có sẵn ngay cả khi chủ đề khác đang chờ đợi.
đang được dịch, vui lòng đợi..
