有一个对象来存储数据。JavaScript函数执行是否可以中断?
var store = {
elements: [],
eventsEnabled: true,
addElement: function(element) {
this.elements.push(element);
if (this.eventsEnabled) {
// Code that triggers event, calls handlers... whatever
}
}
};
存储数据的行为来自两个事件(两种生产者的种类)。一是“生产者”不会触发任何事件:
setInterval(function() {
store.eventsEnabled = false;
store.addElement('hello');
store.eventsEnabled = true;
}, 12000);
第二次却触发事件:
setInterval(function() {
store.addElement('bye');
}, 7000);
的问题是,可先制作人的第二个生产突破执行流程?我的意思是,如果生产者1禁用事件,并且在完成执行之前(并且因此在事件再次被启用之前),生产者2开始执行并且添加其元素,则不会触发事件。那可能吗?会发生吗?
如果是这样,该代码如何转换为种类线程安全的?
你打我这个! :) – bPratik
盛大的建议Jamiec,你有我的+1。阿普莱尔斯回答了我的问题。 –