Synchronized với annotation @Synchronized của Project Lombok

Để tránh việc nhiều thread sử dụng một phương thức tại một thời điểm, chúng ta thường khai báo phương thức sử dụng keyword synchronized của Java, ví dụ như sau:

Project Lombok cũng cung cấp một cách an toàn hơn để làm điều này bằng cách sử dụng annotation @Synchronized.

Với annotation này, Lombok sẽ generate một private field tên là $lock cho phương thức nonstatic và một private field tên là $LOCK cho phương thức static. Điều này sẽ an toàn hơn bởi vì nó sẽ cho phép chúng ta lock phương thức sử dụng một instance field thay vì chính phương thức đó.

Nếu các bạn kiểm tra tập tin Example.class nằm trong thư mục /target/classes/com/huongdanjava/lombok, các bạn sẽ thấy nội dung của class Example được generate như sau:

Add Comment