Javaマルチスレッドと並行性の概要

Javaでのマルチスレッドと並行Javaは、開発者がマルチスレッドを使用できるようにした最も初期の言語の1つです。Javaには最初からマルチスレッド機能があります。そのため、Java開発者は上記の問題に遭遇することがよくあります。これが、このスレッドをJava Concurrencyで書いた理由です。自分自身と、他のJava開発者から恩恵を受ける可能性があることを思い出させてください。

このチュートリアルはJavaのマルチスレッドに焦点を当てていますが、マルチスレッドで発生するいくつかの問題は、マルチタスクおよび分散システムで発生する問題に似ています。したがって、マルチスレッドおよび分散システムへの参照もこのスレッドに表示される場合があります。したがって、「マルチスレッド」ではなく「並行」という言葉を使用します。

並行性モデル

最初のJava並行性モデルは、同じアプリケーションで実行される複数のスレッドもオブジェクトを共有することを前提としています。このタイプの並行性モデルは、「共有状態並行性モデル」と呼ばれることがよくあります。多くの並行言語構成体とユーティリティは、この並行性モデルをサポートするように設計されています。

ただし、最初のJava並行性の本が書かれてから、そしてJava 5並行性ユーティリティーのリリース以来、並行アーキテクチャーと設計の領域で多くのことが起こりました。

共有状態の同時実行モデルは、多くの同時実行問題を引き起こしますが、それらを適切に解決することは困難です。そのため、「共有なし」または「分離状態」として知られる代替並行性モデルが一般的になっています。別の状態同時実行モデルでは、スレッドはオブジェクトやデータを共有しません。これにより、共有状態の同時実行モデルの多くの同時アクセスの問題が回避されます。

Netty、Vert.x、Play / Akka、Qbitなどの新しい非同期「独立状態」プラットフォームとツールキットが登場しました。新しい非ブロッキング同時実行アルゴリズムがリリースされ、新しい非ブロッキングツール(LMax Disrupterなど)がツールボックスに追加されました。Java 7のFork and JoinフレームワークとJava 8のコレクションストリームAPIでは、新しい関数型プログラミングの並列処理が導入されています。

から:https://dev.to//sonali_g_/java-multithreading-concurrency-overview-59eb

元の記事を公開0件 ・いい ね0件 訪問402

おすすめ

転載: blog.csdn.net/cunxiedian8614/article/details/105690156