回答編集履歴
2
誤字修正
answer
CHANGED
@@ -11,7 +11,7 @@
|
|
11
11
|
|
12
12
|
コールバック > promise > async/await の順に並べられ、
|
13
13
|
以下の記事がとても参考になりました。
|
14
|
-
https://sbfl.net/blog/2016/07/13/simplifying-async-code-with
|
14
|
+
* [Promiseとasync/awaitでJavaScriptの非同期処理をシンプルに記述する](https://sbfl.net/blog/2016/07/13/simplifying-async-code-with)
|
15
15
|
|
16
16
|
|
17
17
|
|
@@ -32,7 +32,7 @@
|
|
32
32
|
|
33
33
|
少なくとも Go 言語の goroutine に関してはそうらしいということが
|
34
34
|
以下の書籍に書かれていました。
|
35
|
-
https://booth.pm/ja/items/1483967
|
35
|
+
* [【電子版】あの素晴らしいCGIからもう一度](https://booth.pm/ja/items/1483967)
|
36
36
|
|
37
37
|
(ちなみに JavaScript はシングルスレッドらしいので、
|
38
38
|
(async/await でスレッドを新規に生成することはないはずなので、
|
1
誤字修正
answer
CHANGED
@@ -15,17 +15,25 @@
|
|
15
15
|
|
16
16
|
|
17
17
|
|
18
|
-
### 性能面
|
18
|
+
### 性能面(こちらは、怪しいです)
|
19
19
|
|
20
20
|
> また、これは各言語の実装に依るのかもしれませんが、
|
21
21
|
> async/awaitは呼び出されるたびにスレッドの生成/破棄を行うものでしょうか。
|
22
22
|
|
23
|
-
一般に async/await
|
23
|
+
一般に async/await で定義されるコルーチンは、「言語依存の機能」です。
|
24
24
|
スレッドは 「OS 依存の機能」です。
|
25
|
-
そのため、言語はOSの上に乗っかっているので、
|
26
|
-
スレッドの生成よりは負荷が軽い... というような話を聞いたことがあります。
|
27
25
|
|
26
|
+
言語はOSの上に乗っかっているので、
|
27
|
+
スレッド<->スレッド間の「コンテキストスイッチの負担」よりは
|
28
|
+
|
29
|
+
コルーチン<->コルーチン間の「コンテキストスイッチの負担」が軽い...
|
30
|
+
というような話を聞いたことがあります。
|
31
|
+
* [コンテキストスイッチ- Wikipedia](https://ja.wikipedia.org/wiki/%E3%82%B3%E3%83%B3%E3%83%86%E3%82%AD%E3%82%B9%E3%83%88%E3%82%B9%E3%82%A4%E3%83%83%E3%83%81)
|
32
|
+
|
28
33
|
少なくとも Go 言語の goroutine に関してはそうらしいということが
|
29
34
|
以下の書籍に書かれていました。
|
35
|
+
https://booth.pm/ja/items/1483967
|
30
36
|
|
37
|
+
(ちなみに JavaScript はシングルスレッドらしいので、
|
31
|
-
|
38
|
+
(async/await でスレッドを新規に生成することはないはずなので、
|
39
|
+
(「スレッドの生成の負担」だと、ちょっと表現がおかしいかなと思いました。
|