回答編集履歴

2

説明の追加

2021/01/14 10:37

投稿

ppaul
ppaul

スコア24666

test CHANGED
@@ -43,3 +43,7 @@
43
43
  スレッドとはこの作業表であり、それが置かれている作業表置き場がOSのスレッド管理機能です。
44
44
 
45
45
  スレッドが3000個あっても、そのうちである瞬間に実行しているのは少数なのです。ほとんどのスレッドは作業表置き場に置かれて、実行されるのを待っています。
46
+
47
+
48
+
49
+ ハードウェアのマルチスレッディングというのは、キッチンの機器の数は変わらないけれども、スタッフの人数が倍いるので、ちょっと効率が高いというゆな意味です。

1

例を追加

2021/01/14 10:37

投稿

ppaul
ppaul

スコア24666

test CHANGED
@@ -27,3 +27,19 @@
27
27
  従って1コアあたりの資源が同じであれば、2コアでマルチスレッディングなしのCPUと2コアで4スレッディングのCPUで4スレッドのアプリを動かすと、多少は後者が速いのですが、思ったほど違いは出ません。
28
28
 
29
29
  それに比べると、2コアでマルチスレッディングなしのCPUの方がずっと速くなります。
30
+
31
+
32
+
33
+ 例で説明します。
34
+
35
+
36
+
37
+ モスバーガーのキッチンに、オーブンとか、トースターとかフライヤーとかいろいろな資源がありますね。
38
+
39
+ あるお客さんのオーダーを順番にやってそれが終わってから次のお客さんのオーダーを始めたのでは、効率が悪いのです。そこで、オーダー分けて、商品一個づつの作業表を作ります。これを作業表置き場に置いておいて、1個目のハンバーガーのパティを焼き始めてまた作業表置き場に起きます。その間にエビバーガーのフライを揚げ始めます。
40
+
41
+
42
+
43
+ スレッドとはこの作業表であり、それが置かれている作業表置き場がOSのスレッド管理機能です。
44
+
45
+ スレッドが3000個あっても、そのうちである瞬間に実行しているのは少数なのです。ほとんどのスレッドは作業表置き場に置かれて、実行されるのを待っています。