| ページ一覧 | ブログ | twitter |  書式 | 書式(表) |

MyMemoWiki

TypeScript 並列処理

提供: MyMemoWiki
2020年7月24日 (金) 05:11時点におけるPiroto (トーク | 投稿記録)による版 (→‎子プロセス(Node.js))
ナビゲーションに移動 検索に移動

Node.js | Angular | Google Cloud Platform |

Web Worker(ブラウザ)

コード

  • scripts/browser_main_thread.ts
  1. let worker = new Worker("/scripts/browser_worker.js");
  2. worker.onmessage = e => {
  3. console.log(`RECEIVE MESSAGE FROM WORKER:${e.data}`);
  4. }
  5. worker.postMessage("message to worker!");
  • scripts/browser_worker.ts
  1. onmessage = e => {
  2. console.log(`RECEIVE MESSAGE FROM MAIN : ${e.data}`);
  3. postMessage(`Ack:"${e.data}"`);
  4. }
  • index.html
  1. <html>
  2. <head>
  3. <script src="scripts/browser_main_thread.js"></script>
  4. <script src="scripts/browser_worker.js"></script>
  5. </head>
  6. <body>
  7. TEST
  8. </body>
  9. </html>

実行

Typescript multithred.png

子プロセス(Node.js)

  • ブラウザでのWeb Workerと同じ方法で動作

コード

  • node_main_thread.ts


  • node_child_process.ts


実行

  1. $ node public/scripts/node_main_thread.js
  2. receive parent process message : { message: 'PARENT MESSAGE' }
  3. receive child message: { message: 'CHILD MESSAGE' }