js实现并发任务队列控制执行代码
代码语言:nodejs
所属分类:其他
代码描述:js实现并发任务队列控制执行代码,可以使用一个任务队列和一个并发控制器来实现。可以实时地将任务添加到队列中并控制并发执行:
下面为部分代码预览,完整代码请点击下载或在bfwstudio webide中打开
class TaskQueue { constructor(concurrency) { this.concurrency = concurrency; // 最大并发数 this.queue = []; // 任务队列 this.running = 0; // 当前正在执行的任务数 } async runTask(task) { this.running++; await task(); this.running--; this.next(); // 执行下一个任务 } async next() { while (this.running < this.concurrency && this.queue.length > 0) { const task = this.queue.shift(); // 取出队首任务 await this.runTask(task); } } push(task) { this.queue.push(task); // 将任务添加到队列中 this.next(); // 尝试执行任务 .........完整代码请登录后点击上方下载按钮下载查看
网友评论0