前回まで、3回にわたってCompletableFutureクラスの紹介を行ってきました。今回は、Concurrency Utilitiesのうち、CompletableFutureクラス以外のアップデートについて紹介します。

 本連載第19回Concurrency Utilitiesのアップデートその1に記載しましたが、Concurrency Utitlieisのアップデートには次のようなものがあります。

  • CompletableFuture
  • CountedCompleter
  • DoubleAccumulator/DoubleAdder
  • LongAccumulator/LongAdder
  • StampedLock
  • ConcurrentHashMapの変更

 一つめのCompletedFutureクラスは、前回までの連載で紹介しました。

 次のCountedCompleterクラスはFork/Join Frameworkのタスクを記述するための新しいクラスです。CountedCompleterクラスは本連載第17回で紹介した、パラレルストリームをFork/Join Frameworkで記述するために使用されます。記事ではreduceメソッドの処理を行うReduceTaskクラスを紹介しましたが、CountedCompleterクラスはReduceTaskクラスのスーパークラスになります。

 つまり、Stream APIを導入するために導入されたクラスであり、一般的に使用されることはほとんどありません。そこで、本記事ではCompletableFutureクラスとCountedCompleterクラス以外の機能について紹介します。