美文网首页
关于串并行

关于串并行

作者: 自律财富自由 | 来源:发表于2018-10-11 17:08 被阅读0次
// 回调
asyncFun = (arg, cb) => {
  setTimeout(()=>{
    console.log(`参数为${arg}`)
    cb(arg * 2)
  },1000)
}
let items = [1,2,3,4,5,6]
var cbResults = []
final = (result) => {
  console.log(`完成${result}`)
}
串行执行任务队列items
series = (item) => {
  if (item) {
    asyncFun(item, (cbParams) => {
      cbResults.push(cbParams)
      return series(items.shift())
    })
  } else {
    final(cbResults)
    console.timeEnd('sync')
  }
}
console.time('sync');
series(items.shift()) //6.012s
并行执行任务队列items
let len = items.length
console.time('asyncFn');
items.forEach((item) => {
  asyncFun(item, (cbParams) => {
    cbResults.push(cbParams)
    if (cbResults.length == len) {
      final(cbResults)
      console.timeEnd('asyncFn');
    }
  })
})
// 1.003s
串行与并行的结合,即每次设定最多能并行n个异步任务
let running = 0 //串行的任务个数
let limit = 2 // 最多能并行2个异步任务(每两个一输出)
console.time('control')
launcher = () => {
  while(running < limit && items.length > 0) {
    let item = items.shift()
    running++
    asyncFun(item, (cbParams) => {
      cbResults.push(cbParams)
      running--
      if (items.length > 0) {
        launcher()
      }else if(running == 0){
        final(cbResults);
        console.timeEnd('control');
      }
    })
  }
}
launcher();
// 3.005s

相关文章

  • 关于串并行

    串行执行任务队列items 并行执行任务队列items 串行与并行的结合,即每次设定最多能并行n个异步任务

  • 串并行和同异步之间的关系

    串并行和同异步之间的关系

  • 串并行在js中的各种场景

    首先,让我们先了解下串并行的定义 串并行指的是任务的执行方式。串行是指多个任务时,各个任务按顺序执行,完成一个之后...

  • 并行计算实验-串、并行排序算法

    并行实验报告 一、项目背景 项目要求实现快速排序、枚举排序、归并排序三种排序方法的串行和并行算法,并且进行性能比较...

  • GCD简单实现

    GCD实现1,2并行和3串行和45串行,4,5是并行。即3依赖1,2的执行,45依赖3的执行。 串行队列:队列中的...

  • 并发编程之Disruptor-3.高级应用

    1.导航 Disruptor核心链路应用场景 并行计算 - 串 (并) 行操作 并行计算 - 多边形高端操作 Di...

  • Java Stream的并行实现

    作者: 一字马胡 转载标志 【2017-11-03】 更新日志 并行与并发 关于并发与并行,需要弄清楚的是,并行...

  • 评分卡模型前沿研究

    组合模型 两类结构的评分组合模型 串型组合模型 并行模型

  • 《深入理解并行编程》整理笔记

    目录 1.并发编程的目标 2.并行访问控制 - 是什么使并行编程变得复杂? 3.关于硬件 - 对并行编程造成的障碍...

  • 1.8 嵌入式

    郭老师讲了关于串口的知识,分串行和并行,并行行速度快,资源多,串行速度慢,资源少。老师讲解关于串口发送,接收等相关...

网友评论

      本文标题:关于串并行

      本文链接:https://www.haomeiwen.com/subject/csabaftx.html