Nếu bạn có thể nâng cấp lên Groovy 1.7.3 bạn có thể sử dụng việc chuyển đổi Synchronized
AST để thay thế. Bạn có thể sử dụng chú thích trên các cá thể và các phương thức tĩnh. Chú thích sẽ tạo một biến khóa trong lớp của bạn (hoặc bạn có thể sử dụng biến hiện có) và mã được đồng bộ hóa trên biến khóa đó.
Việc sử dụng khối synchronized
nên được ưu tiên hơn việc thêm từ khóa vào phương thức. Nếu bạn sử dụng từ khóa synchronized
trên phương pháp bạn đồng bộ hóa trên this
có nghĩa là tất cả các chủ đề khác muốn truy cập bất kỳ phương thức nào trong lớp của bạn phải đợi cho đến khi khóa lại miễn phí.
import groovy.transform.Synchronized
class YourClass {
@Synchronized
static Map getMap(def fileName) {
...
}
}
Nguồn
2011-10-22 12:14:30
bản nâng cấp hiện không có kế hoạch, nhưng thông tin được cung cấp chắc chắn rất hữu ích, có nghĩa là trong tiếng 1.7.2 tôi có thể sử dụng kiểu đồng bộ java, – anish