2009-04-15 18 views
9

Tôi muốn phát xung quanh với thư viện tương tranh sắp tới mà sẽ được bao gồm trong
Java 7 theo this website.Thư viện tương tranh Java sắp tới là gì: jsr166y? jsr166z?

Dường như có tên là JSR166.

Trong hầu hết các nơi thực hiện tham chiếu của nó được gọi là jsr166y, trong khi vài nguồn gọi nó jsr166z.

Tôi đã khám phá hai hoàn toàn khác nhau javadocs cho mỗi lần triển khai tham chiếu.

Bây giờ, trong đó thực hiện sẽ được bao gồm trong Java 7?

EDIT
Trong khi những người trả lời cho rằng jsr166y là điều cho Java 7, tôi phát hiện ra this document (TS-5515) từ JavaOne. Tài liệu này đề cập đến Java 7 nhưng đề cập đến LinkedAsyncAction chỉ xuất hiện trong jsr166z javadocs. (Lẫn lộn ...)

+0

Lưu ý: Các tài liệu bạn tham khảo cũng dứt khoát nói với tải jsr166y - trên slide 14. – Eddie

+0

liên kết doc jsr166y bị hỏng. –

Trả lời

11

JSR 166 là jsr đồng thời Java ban đầu cho Java 5 đã tạo java.util.concurrent. Họ đã thực hiện một vòng bảo trì trong Java 6 được gọi là JSR 166x. Vòng bảo trì Java 7 là JSR 166y. JSR 166z là phiên bản nguyên mẫu đóng.

Hiện nay dự kiến ​​sẽ được đưa vào JSR 166y là:

  • Fork/join (nhưng KHÔNG khuôn khổ ParallelArray)
  • TransferQueue/LinkedTransferQueue bộ sưu tập
  • Phasers (CyclicBarriers trên steroid)

Đẩy tới JDK 8 (ít nhất):

  • hàng rào API (mức thấp), cố gắng loại bỏ sử dụng không an toàn gọi
  • ConcurrentReferenceHashMap (biến mạnh mẽ/refs yếu, đồng thời, vv)

Mọi chi tiết, javadoc here hoặc tham gia danh sách gửi thư đồng thời lãi suất :

+0

Vì vậy, Jsr166y JAR có thể tải xuống chưa hoàn tất, phải không? –

+0

Có lẽ là không. Tôi nghĩ cái bình chỉ có thể bao gồm những thứ ForkJoin. –

+0

Liên kết tài liệu FYI cho jsr166y bị hỏng. –

3

Liên kết trên trang javac.info (jsr166z) sử dụng các đóng cửa BGGA vốn sẽ không có trong JDK7.

Liên kết trên trang web Doug Lea (jsr166y) phải được cập nhật. Doug là người dẫn đầu. API đã được cắt xén xuống các khái niệm cơ bản như cách mà khung công tác gia nhập sẽ được sử dụng trong thực tế chưa rõ ràng. Có lẽ các thư viện sẽ có sẵn ở mức cao hơn một chút, và khi điều giải quyết nhiều hơn có thể được thêm vào JDK8.

2

Nhìn vào các tham chiếu khác nhau có sẵn (ví dụ: this Email từ Doug Lea), có vẻ như rõ ràng rằng JSR hiện tại cho các bổ sung đồng thời JDK7 là jsr166y. Ngoài ra, nếu bạn truy cập trang web Closures for the Java Programming Language (aka BGGA) và xem (mục hiện tại) mục thứ 4 có dấu đầu dòng "khuôn khổ ngã ba jsr166y của Doug Lea", jsr166y được mô tả làm khung ngã ba "không có loại chức năng" và jsr166z được mô tả làm khung công tác phân nhánh "với các loại chức năng".

Có vẻ như jsr166z là một chéo giữa các bổ sung đồng thời và BGGA. Có lẽ điều này cung cấp các tiện ích đồng thời theo yêu cầu của BGGA?

+0

BGGA không yêu cầu bổ sung đồng thời này. Thiết kế của các bổ sung thêm có thể bị ảnh hưởng bởi những loại đóng cửa mà chúng ta vượt ra ngoài các lớp bên trong vô danh. –