jquery多线程

queue 
插入一个任务 delay 
插入一个任务 但是类型为 queue

dequeu 取出一个任务执行,如果当前任务不是queue类型的,等待任务执行完后继续取队列中的下一个任务,直到取到queue类型的任务为止

例子:

$.delay(1000); 
$.queue(fun1); 
$.dequeue(); 
$.delay(2000); 
$.queue(fun2); 
$.dequeue();

线程1:按顺序执行.

   当执行到dequeue的时候 开启线程2:取出1个任务$.delay(1000);执行。此时线程2 运行中

   当执行到第二个dequeue的时候 开启线程3:取出1个任务(由于线程1执行很快,不足1秒,此时线程2只依旧在执行delay,所以线程3获取到任务$.queue(fun1);)由于线程3取到了queue类型的任务,线程3执行完queue后终止。

   线程2执行完第一个任务后继续取队列的下一个任务,由于线程3取了$.queue(fun1);。故此时取出的任务为$.delay(2000);由于不是queue类型的任务,执行后继续取下一个任务,$.queue(fun2);执行,终止

   总上来看,由于多线程缘故导致,线程3 执行queue类型的任务的时候越过了已经被线程2获取的任务$.delay(1000);。所以方法$.queue(fun1);无延迟启动。而后$.queue(fun2);则经历了$.delay(1000);和$.delay(2000);的2次延迟,合计3秒后才被执行
lblin

转载于:https://my.oschina.net/u/3009826/blog/1623522

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值