5xuống bầuReentrantReadWriteLock là một chuyên ngành khóa trong khi synchornized(this) là một khóa mục đích chung. Họ là tương tự nhưng không hoàn toàn như nhau.Bạn là đúng trong đó bạn có thể sử dụng synchronized(this) thay vì ReentrantReadWriteLock, nhưng ngược lại là không luôn luôn đúng.Nếu bạn muốn hiểu rõ hơn về những gì làm cho ReentrantReadWriteLock đặc biệt: Hãy một số thông tin về nhà sản xuất-tiêu dùng sợi đồng bộ.Nói chung, bạn có thể nhớ rằng toàn bộ phương pháp đồng bộ hóa và đồng bộ hoá thông dụng (sử dụng các từ khóa được đồng bộ hoá) có thể được sử dụng trong hầu hết các ứng dụng mà không suy nghĩ quá nhiều về ngữ nghĩa của đồng bộ hoá nhưng nếu bạn cần để siết chặt diễn ra của bạn mã bạn có thể cần phải khám phá các hạt mịn hơn, hoặc các cơ chế đồng bộ hoá mục đích đặc biệt.Bằng cách này, bằng cách sử dụng synchronized(this) - và nói chung khóa bằng cách sử dụng một trường hợp khu vực lớp - có thể có vấn đề bởi vì nó mở ra mã của bạn để chết-khóa tiềm năng bởi vì người khác không phải cố ý có thể cố gắng để khóa đối với đối tượng của bạn ở một nơi khác trong chương trình.
đang được dịch, vui lòng đợi..
