У меня есть веб-приложение, в котором есть таймер, который постоянно отсчитывает время. Между тем, клиент часто проверяет сервер, чтобы узнать, не было ли добавлено больше времени к таймеру. Код выглядит примерно так:
function tick() {
// This function is called once every second
time -= 1;
redisplay(time);
};
function update(newtime) {
// This function is called whenever the ajax request
// to the server yields a new time
time = newtime;
};
Это, конечно, немного сложнее, но вы можете увидеть присущее состояние гонки. Что, если и функция обновления, и функция тика пытаются изменить time
одновременно?
Честно говоря, я недостаточно знаю javascript, чтобы понять, как справиться с такой проблемой параллелизма: есть ли простой способ сделать это, а если нет, может ли кто-нибудь указать мне ресурсы, где я могу узнать больше?
Спасибо.