欢迎来到福编程网,本站提供各种互联网专业知识!

JS模拟多线程

发布时间:2007-02-07 作者: 来源:转载
varThread={runNum:0,//当前正式运行的线程数maxNum:10,//最大同时执行的线程数-1表示不限commandList:newArray(),start:function(){//window.status=this.runNum;if(this.maxNum!=-1&&this.runNum>=this.maxNum){return;}if(this.commandList.length
var Thread = {
runNum : 0,//当前正式运行的线程数
maxNum : 10,//最大同时执行的线程数 -1表示不限
commandList : new Array(),
start : function(){
//window.status = this.runNum;
if(this.maxNum != -1 && this.runNum >= this.maxNum){
return;
}
if(this.commandList.length <= 0){
this.runNum = 0;
return false;
}
this.runNum++;
var _this =this;
var tFun = function(){
if(!_this.commandList[0]) return;
var command = _this.commandList[0].shift();
command.apply(_this,_this.commandList[0].concat(
function(){//alert(2)
if(_this.runNum > 0)_this.runNum--;
setTimeout(function(){_this.start.apply(_this)},1);
}));
_this.commandList.shift();
}
setTimeout(tFun,1);
setTimeout(function(){_this.start.apply(_this)},10);
}
}




相关推荐