Node.js · Senior · Frage 15 von 75
Wie teilt man große Binärdaten zwischen Worker Threads, ohne sie zu kopieren?
- 1In eine temporäre Datei schreiben und in jedem Worker lesen
- 2In einen JSON-String umwandeln und mit
postMessagesenden - 3Einen
ArrayBufferübertragen oder einenSharedArrayBuffernutzen
Antwort zeigen
Richtige Antwort: Einen ArrayBuffer übertragen oder einen SharedArrayBuffer nutzen
Erklärung
Übertragen verschiebt den Besitz: der Sender kann den Buffer nicht mehr nutzen. SharedArrayBuffer lässt beide Seiten denselben Speicher lesen und schreiben, nutze also Atomics gegen Races.