今後のJava Concurrency Library:JSR166Yは何ですか? JSR166Z?
-
09-09-2019 - |
質問
参加する予定のConcurrencyライブラリをいじりたいと思っていました
Java 7によると このウェブサイト.
名前が付けられているようです JSR166.
ほとんどの場所で、その参照実装はと呼ばれます JSR166Y、それを呼んでいるリソースはほとんどありませんが JSR166Z.
私は完全に2つを発見しました 違う 各参照実装のJavadocs。
さて、どの実装がJava 7に含まれますか?
編集
答えた人はJSR166YがJava 7のものであることを示唆していますが、私は発見しました これ ドキュメント(TS-5515) Javaoneから。このドキュメントはJava 7を参照していますが、JSR166Z Javadocsにのみ存在するLinkedAsyccractionについて言及しています。 (錯乱...)
解決
JSR 166は、java.util.concurrentを作成したJava 5のオリジナルのJava Concurrency JSRでした。彼らはJSR 166Xと呼ばれるJava 6でメンテナンスRevを行いました。 Java 7メンテナンスRevはJSR 166yです。 JSR 166zは、閉鎖プロトタイプバージョンです。
現在、JSR 166yに含まれる予定です。
- フォーク/結合(ただし、ParallelArrayフレームワークではありません)
- トランスファー / LinkedTransferqueueコレクション
- フェイザー(ステロイドのサイクリックバーリア)
JDK 8にプッシュ(少なくとも):
- フェンスAPI(低レベル)、安全でない呼び出しの使用を削除しようとしています
- concurrentreferencehashmap(可変ストロング/弱い参照、同時など)
詳細については、 Javadocはこちら または、Concurrency-Interestメーリングリストに参加してください。
他のヒント
javac.infoサイト(JSR166Z)のリンクは、JDK7にないBGGA閉鎖を使用します。
Doug Leaのサイト(JSR166Y)のリンクは最新のものです。ダグはスペックリードです。 APIは、Fork-Joinフレームワークが実際にどのように使用されるかがまだ明確ではないため、基本に剪定されています。おそらく、ライブラリがわずかに高いレベルで利用可能になると思われます。物事が落ち着くと、JDK8にさらに追加できます。
利用可能なさまざまな参照を見ると(たとえば、 このメール Doug Leaから)、JDK7の並行性の現在のJSRがJSR166Yであることは明らかです。さらに、Webページにアクセスした場合 Javaプログラミング言語の閉鎖(別名BGGA) そして(現在のもの)4番目の弾丸項目「Doug Lea's JSR166Y Fork-Join Framework」、JSR166Yは「関数タイプのないフォーク結合フレームワーク」と説明され、JSR166Zは機能タイプを持つフォーク結合フレームワークとして説明されています。 。」
JSR166Zは、同時性の追加とBGGAのクロスであるように見えます。おそらく、これはBGGAが必要とする同時性ユーティリティを提供しますか?