NodeJSのマルチスレッドと非同期の違いは何ですか

infodev

NodeJは、最新のアップデートでマルチスレッド機能を追加します。

マルチスレッドと非同期の違いは何ですか?簡単な例で理解したいと思います。非同期よりもマルチスレッドを使用する必要があるのはどの場合ですか?

Lpc_dark

最初に理解することは、コンピューターのさまざまな部分がさまざまな速度で動作することです。ディスク、ネットワークなど...

したがって、非同期コードがネットワークまたは大量のファイルのみを処理しているように見える場合は、そのioを呼び出しましょう。

うんいいね。

ここで、コードが実行されており、ファイルを読み取る必要があると考えてみましょう。CPU時間で。これは「数千年」なので、CPUは言います。データが利用可能になったら、私に知らせてください。インマは他のいくつかのsh * tをやりに行きます。

その後、ディスクが戻ってきて、必要なデータを取得したようです。CPUが好きですか?私が「待っていた」ことのデータ。

これがどのように効率的になるかがわかります。

データを取得していない場合はどうなりますか。CPUが複数のことを行う必要がある場合はどうなりますか。

これに従って、朝、ジュースを注いでサンドイッチを作るかもしれません。両方を行うのは難しいですよね?

しかし、卵が調理されるのを待っている間、簡単にジュースを注ぐことができます。

スレッド...スレッドはより多くの手を取得することです。画像のサイズを縮小するなど、さらに多くのタスクを実行する必要があります。画像が縮小するのが待ちきれません。画像を積極的に縮小する必要がありますが、他の人に対応する必要があります。複数の画像を縮小する必要があります。一度に1つしか縮小できません。

だから今、あなたは概念を手に入れました。

非同期コードは、ディスクやネットワークのように、ioを待機するだけのダムスレッドを作成します。それはまだスレッドですが、コードはそれをかなりうまく処理します。それはあなたのためにたくさんの複雑な仕事を解決します。あなたはただawaitとasyncを書くだけです。

スレッドは通常、より多くのスレッドを管理する必要があります。このように考えてください。

ディスクからの読み取り、ネットワークからの読み取り..これらはかなり明白なことであり、その周りにAPIを作成することを確認できます。しかし、CPUは機能しますが、CPUに実行させることができることは無限にあります。スレッドは通常、より多くの手作業を伴います。

最後に、スレッドが実行できることは1つだけです。オレンジジュースを注ぎ、片手でサンドイッチにバターを塗ります。難しいですよね?スレッド、余分な手が必要な場合があります。

卵を調理し、片手でスイカを切ります。いくつかのものが終了するのを待って、他のことをする方法を見ることができます。

行く..あなたは今男だ!

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

非同期プログラミングとマルチスレッドの違いは何ですか?

分類Dev

Objective-Cとマルチスレッドの同期呼び出しと非同期呼び出しの違いは何ですか?

分類Dev

非同期メソッドとスレッドの違いは何ですか?

分類Dev

マルチスレッドと非同期の違い

分類Dev

GoのマルチスレッドとpthreadまたはJavaスレッドの違いは何ですか?

分類Dev

Androidの非同期タスクとスレッドの主な違いは何ですか?

分類Dev

マルチスレッドのsleep()メソッドとyield()メソッドの違いは何ですか?

分類Dev

マルチスレッドモードでのaiosqliteとSQLiteの違いは何ですか?

分類Dev

C ++のマルチスレッドのjoin()とdetach()の違いは何ですか?

分類Dev

C ++のマルチスレッドのjoin()とdetach()の違いは何ですか?

分類Dev

JavaScriptは非同期であり、マルチスレッドと同等のものを待ちますか?

分類Dev

グーグルクラウドスピーチAPI:同期認識と非同期認識の違いは何ですか?

分類Dev

以下の2つのマルチスレッドJavaコードの違いは何ですか?

分類Dev

実行ループの同期入力ソースと非同期入力ソースの違いは何ですか?

分類Dev

通常のメソッドと非同期メソッドの違いは何ですか(OnGetとOnGetAsync)

分類Dev

ケースとマッチの違いは何ですか?

分類Dev

Kotlinコルーチンの起動/参加と非同期/待機の違いは何ですか

分類Dev

一度にいくつの非同期(マルチスレッドではない)操作が開始されますか?これは構成可能ですか?

分類Dev

非同期ジェネレーターとObservablesの違いは何ですか?

分類Dev

ハイパースレッディングとマルチコアの違いは何ですか?

分類Dev

非同期タスクとタスクの違いは何ですか

分類Dev

スレッドモジュールとマルチプロセッシングモジュールの違いは何ですか?

分類Dev

タスクとスレッドの違いは何ですか?

分類Dev

cURL、curl_multi_initはマルチスレッドですか、それとも非同期APIですか?

分類Dev

RestfulWebサービスでの非同期マルチスレッド

分類Dev

同期フィールドとReadWriteLocksの違いは何ですか?

分類Dev

Redux非同期アクション:最初のディスパッチをtryブロックに入れることで何か違いはありますか?

分類Dev

マルチスレッドでの春ブーツ非同期

分類Dev

非同期呼び出しとコールバックの違いは何ですか

Related 関連記事

  1. 1

    非同期プログラミングとマルチスレッドの違いは何ですか?

  2. 2

    Objective-Cとマルチスレッドの同期呼び出しと非同期呼び出しの違いは何ですか?

  3. 3

    非同期メソッドとスレッドの違いは何ですか?

  4. 4

    マルチスレッドと非同期の違い

  5. 5

    GoのマルチスレッドとpthreadまたはJavaスレッドの違いは何ですか?

  6. 6

    Androidの非同期タスクとスレッドの主な違いは何ですか?

  7. 7

    マルチスレッドのsleep()メソッドとyield()メソッドの違いは何ですか?

  8. 8

    マルチスレッドモードでのaiosqliteとSQLiteの違いは何ですか?

  9. 9

    C ++のマルチスレッドのjoin()とdetach()の違いは何ですか?

  10. 10

    C ++のマルチスレッドのjoin()とdetach()の違いは何ですか?

  11. 11

    JavaScriptは非同期であり、マルチスレッドと同等のものを待ちますか?

  12. 12

    グーグルクラウドスピーチAPI:同期認識と非同期認識の違いは何ですか?

  13. 13

    以下の2つのマルチスレッドJavaコードの違いは何ですか?

  14. 14

    実行ループの同期入力ソースと非同期入力ソースの違いは何ですか?

  15. 15

    通常のメソッドと非同期メソッドの違いは何ですか(OnGetとOnGetAsync)

  16. 16

    ケースとマッチの違いは何ですか?

  17. 17

    Kotlinコルーチンの起動/参加と非同期/待機の違いは何ですか

  18. 18

    一度にいくつの非同期(マルチスレッドではない)操作が開始されますか?これは構成可能ですか?

  19. 19

    非同期ジェネレーターとObservablesの違いは何ですか?

  20. 20

    ハイパースレッディングとマルチコアの違いは何ですか?

  21. 21

    非同期タスクとタスクの違いは何ですか

  22. 22

    スレッドモジュールとマルチプロセッシングモジュールの違いは何ですか?

  23. 23

    タスクとスレッドの違いは何ですか?

  24. 24

    cURL、curl_multi_initはマルチスレッドですか、それとも非同期APIですか?

  25. 25

    RestfulWebサービスでの非同期マルチスレッド

  26. 26

    同期フィールドとReadWriteLocksの違いは何ですか?

  27. 27

    Redux非同期アクション:最初のディスパッチをtryブロックに入れることで何か違いはありますか?

  28. 28

    マルチスレッドでの春ブーツ非同期

  29. 29

    非同期呼び出しとコールバックの違いは何ですか

ホットタグ

アーカイブ