zero's blog


  • Home

  • Posts

  • About

  • Search
close

Multiple Thread 01

Published at: 2021-01-22   |   Categories: java     |   Reading: 45 words ~1min

マルチスレッドの基本概念

スレードとプロセス

プロセス

プロセスとは、処理のことである。情報処理においてプログラムの動作中のインスタンスを意味し、プログラムのコードおよび全ての変数やその他の状態を含む。オペレーティングシステム (OS) によっては、プロセスが複数のスレッドで構成される場合があり、命令を同時並行して実行する。

プロセス Wikipedia

スレッド

スレッド(thread)とは、CPU利用の単位。プロセスに比べて、プログラムを実行するときのコンテキスト情報が最小で済むので切り替えが速くなる。スレッドは、thread of execution(実行の脈絡)という言葉を省略したものである。 プログラミングの観点からみると、アプリケーションの処理の「実行の脈絡」は1つでないことが多い。

スレッド Wikipedia

  • プロセスは 1 つ以上のスレッドを持ちます。
  • スレッドは独自で存在できない。
  • CPU コア数 = 同時実行できるスレッド数
  • 同一プロセス内のスレッドはメモリ空間を共有できる * 共有 heap areaと method area
  • Program Counterとstackはスレッド専有エリア。

並行性と並列性

並行性

マルチスレッドプロセスがシングルプロセッサ上で動作する場合は、プロセッサが実行リソースを各スレッドに順次切り替えて割り当てるため、プロセスの実行状態は並行的になります。

並列性

同じマルチスレッドプロセスが共有メモリー方式のマルチプロセッサ上で動作する場合は、プロセス中の各スレッドが別のプロセッサ上で同時に走行するため、プロセスの実行状態は並列的になります。

マルチスレッドの利点

アプリケーションの応答性の改善

マルチプロセッサの効率的な利用

プログラム構造の改善

システムリソースの節約

スレッドと RPC の併用

#Multiple Thread#
Multiple Thread 02
Java Function Interface
zero

zero

16 Blogs
3 Categories
7 Tags
© 2020 - 2021 zero's blog
Powered by - Hugo v0.81.0
Theme by - NexT
0%