Могут ли быть условия гонки с TaffyDB и node.js?
Может ли быть состояние гонки в TaffyDb и nodejs? Например: 100 одновременных соединений с node.js, использующих требование ('net') надежного чтения данных, основаны на переменной блокировке Dbman(пример): 0, когда не читается, и 1, когда читается. Могут ли данные быть прочитаны и повреждены, если 2 чтения были вызваны непосредственно перед установкой блокировки?
1 ответ
Программы Node.js являются программами JavaScript, и поэтому многопоточность отсутствует.
Каждая функция запускается из одного потока цикла диспетчеризации, поэтому, если вы установите переменную на определенное значение, она гарантированно останется этим значением в течение всего выполнения вызова этой функции.
Пока одна функция выполняется, другие функции работать не могут, поэтому рассматриваемое вами состояние гонки невозможно.