Да, я знаю, что запрос формальной модели памяти в Javascript - это безнадежное занятие, поэтому я согласен с тем, что «все браузеры следуют этим правилам» или что-то в этом роде.
Моя проблема заключается в следующем: я должен отправлять события с определенным интервалом на сервер, но при этом события могут быть добавлены в мой массив, т. Е .:
function storeEvent(event) {
// may be called at any time
storedEvents.push(event);
}
function broadcastEvents() {
if (storedEvents.length !== 0) {
var eventString = JSON.stringify(storedEvents);
storedEvents = [];
// send eventString to server
}
window.setTimeout(broadcastEvents, BROADCAST_TIMER);
}
Там есть очевидное состояние гонки и даже не думать о пропущенных барьерах памяти.
Что делать? Здесь действительно отсутствует модель памяти Java ..