Не думаю, что нет, нет. ArrayBuffer
- это почти черный ящик без типизированного массива или DataView
для его просмотра, и вы не можете изменить буфер существующего типизированного массива или DataView
.
На платформах, которые его поддерживают, вы можете создать SharedArrayBuffer
, к которому имеют доступ как основной, так и рабочий поток, что не будет иметь проблемы с GC, поскольку каждая сторона будет повторно использовать свой массив-обертку. Просто убедитесь, что у вас есть доступ к нему через postMessage
или Atomics
(подробнее об этом в ответе на этот вопрос ).
Но, к сожалению, большинство браузеров отключили SharedArrayBuffer
в ответ на Spectre, и в последний раз, когда я проверял, только Chrome повторно включил его (на платформах, где включена функция изоляции сайта).