@@ -60,23 +60,23 @@ threads share [the same entry point file](js/executable.dart), which decides
6060what to run based on ` worker_threads.isMainThread ` .
6161
6262```
63- if (worker_threads.isMainThread) { if (worker_threads.isMainThread) {
64- mainEntryPoint(); mainEntryPoint();
65- } else { } else {
66- workerEntryPoint(); new Worker(process.argv[1], { workerEntryPoint();
67- } argv: process.argv.slice(2), }
68- workerData: channel.port2,
69- ┌────────────────────────────────────┐ transferList: [channel.port2] ┌────────────────────────────────────┐
70- │ Main Thread │ }) │ Worker Thread │
71- │ ├──────────────────────────────────────────────────────────── ►│ │
72- │ │ │ │
73- │ ┌────────────────────────────────┐ │ Synchronous Messaging │ ┌────────────────────────────────┐ │
74- │ │ SyncMessagePort(channel.port1) ├─┼───────────────────────────────────────────────────────────── ┼►│ SyncMessagePort(channel.port2) │ │
75- │ └────────────────────────────────┘ │ │ └────────────────────────────────┘ │
76- │ │ │ │
77- │ ┌────────────────────────────────┐ │ Asynchronous Messaging │ ┌────────────────────────────────┐ │
78- │ │ channel.port1 │◄┼───────────────────────────────────────────────────────────── ┼─┤ channel.port2 │ │
79- │ └────────────────────────────────┘ │ │ └────────────────────────────────┘ │
80- │ │ │ │
81- └────────────────────────────────────┘ └────────────────────────────────────┘
63+ if (worker_threads.isMainThread) { if (worker_threads.isMainThread) {
64+ mainEntryPoint(); mainEntryPoint();
65+ } else { } else {
66+ workerEntryPoint(); new Worker(process.argv[1], { workerEntryPoint();
67+ } argv: process.argv.slice(2), }
68+ workerData: channel.port2,
69+ ┌────────────────────────────────────┐ transferList: [channel.port2] ┌────────────────────────────────────┐
70+ │ Main Thread │ }) │ Worker Thread │
71+ │ ├───────────────────────────────────────────────►│ │
72+ │ │ │ │
73+ │ ┌────────────────────────────────┐ │ Synchronous Messaging │ ┌────────────────────────────────┐ │
74+ │ │ SyncMessagePort(channel.port1) ├─┼────────────────────────────────────────────────┼►│ SyncMessagePort(channel.port2) │ │
75+ │ └────────────────────────────────┘ │ │ └────────────────────────────────┘ │
76+ │ │ │ │
77+ │ ┌────────────────────────────────┐ │ Asynchronous Messaging │ ┌────────────────────────────────┐ │
78+ │ │ channel.port1 │◄┼────────────────────────────────────────────────┼─┤ channel.port2 │ │
79+ │ └────────────────────────────────┘ │ │ └────────────────────────────────┘ │
80+ │ │ │ │
81+ └────────────────────────────────────┘ └────────────────────────────────────┘
8282```
0 commit comments