読者の一つは、Anantは最近、非常に良い質問をしました。彼は、私たちは、マルチスレッドなどでJava 8の変化について知っておくべきすべてのトピックの/リストを詳しく説明したいと考えています。(初心者から上級者まで)。彼は単純なものからJavaのマルチスレッドフレームワーク知りたいと思っRunnable
たJava 8の最新機能への進化の過程インタフェースを。私たちは彼の要求を解決しましょう。
私は情報を収集するために多くの時間を費やしました。あなたが他のビューを持っているのであれば、お気軽にお尋ねください。
JDKリリースマルチスレッドの概念
それぞれについて1.1 JDKのバージョン、いくつかのマルチスレッド関連クラスのオリジナルバージョン。具体的には、クラス/インタフェースは、次のように
java.lang.Thread
java.lang.ThreadGroup
java.lang.Runnable
java.lang.Process
java.lang.ThreadDeath
次のようないくつかの珍しいカテゴリ
java.lang.IllegalMonitorStateException
java.lang.IllegalStateException
java.lang.IllegalThreadStateException.
同様に、同期のコレクションとして。例えば:java.util.Hashtable
JDK 1.2およびJDK 1.3は、マルチスレッドに関して有意な変化は認められませんでした。(私が何かを逃した場合、私を修正してください)
JDK 1.4は、 JVMレベルの変更の一部で発生しています。これは、マルチスレッドサスペンド/レジュームする単一の呼び出しを使用することができます。しかし、それは、APIに大きな変化を生じませんでした。
JDK 1.5であるJDK 1.1の後の最初のメジャーリリース、それは複数の同時ツールキットが含まれています。Executor
、semaphore
、mutex
、barrier
、latches
、concurrent collections
そしてblocking queues
、バージョンのJavaスレッド・アプリケーションの多くで最大の変化。
阅读完整变化: http://docs.oracle.com/javase/1.5.0/docs/guide/concurrency/overview.html
JDK 1.6は多くのプラットフォームではなく、修理APIのアップグレードの詳細です。
JDK 1.7はのためのサポート導入されましたForkJoinPool
サポートを。これは、実装作業を盗む手法を、スループットを最大化します。Phaser
クラスもで追加されました。
JDK 1.8は、ラムダは広く知られているが、それはまた、同時変更についての何かを持っているので。二つの新しいインタフェースと4つの新しいクラスがに追加されたjava.util.concurrentパッケージ。たとえば、次のようにCompletableFuture
、CompletionException
。
ベース高めるためにはストリームの施設とラムダ式フレームに主要な変更java8を受けて設定し、これらの新機能、の重合操作を、これは多数の方法の結果は、ほぼすべてのコレクションクラスのに追加され、もちろん、複雑なのセットが含まれています。
阅读完整变化: http://docs.oracle.com/javase/8/docs/technotes/guides/concurrency/changes8.html
関連ガイドライン
- www.cs.princeton.edu/courses/arc...
- programmers.stackexchange.com/questions/1...
- docs.oracle.com/javase/1.5....
- docs.oracle.com/javase/7/do...
- www.oracle.com/technetwork...
- docs.oracle.com/javase/8/do...
私は、上記のものは、あなたがJDKのマルチスレッド版の特性を理解するのに役立ちます願っています。