teratail header banner
teratail header banner
質問するログイン新規登録

回答編集履歴

2

誤字修正

2019/11/10 03:34

投稿

nico25
nico25

スコア830

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

誤字修正

2019/11/10 03:34

投稿

nico25
nico25

スコア830

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
- https://booth.pm/ja/items/1483967
38
+ (async/await でスレッドを新規に生成することはないはずなので、
39
+ (「スレッドの生成の負担」だと、ちょっと表現がおかしいかなと思いました。