专栏首页拂晓风起Flash actionscript3.0 多个setTimeout之间会顺序执行 单线程执行 无法中止

Flash actionscript3.0 多个setTimeout之间会顺序执行 单线程执行 无法中止

做了一个试验,测试能否在另外的setTimeout中中断其他代码的执行。结果表明,是不可能的,Actionscript会按顺序,逐个逐个的执行。

private var index:int;
private var stop:Boolean = false;

public function EffectTest()
{
       setTimeout(run, 200);
       setTimeout( function():void
       {
               trace("try to terminate running");
              stop = true;
       }, 500);
       setTimeout( function():void
       {
               trace("index is", index);
       }, 600);
}

protected function run(): void
{
        //this loop needs 1.3s to finish
        for (var i:int = 0; i < 10000000; i++)
       {
               if (stop)
              {
                     index = i;
                      trace("running has been terminated");
                      return;
              }
               var a:Number = Math.sqrt(i);
       }
       index = i;
        trace("finish running");
}

如果第二个setTimeout能中止的话,应该输出running has been terminated 但实际运行结果,这部分是没有执行的。run函数还是好好的完全被执行完。 最终输出: finish running try to terminate running index is 10000000

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 浅谈HTML5单页面架构(二)——backbone + requirejs + zepto + underscore

    用户1258909
  • C++调用C链接库

    用户1258909
  • Flash Actionscript 多线程Worker 压缩图片

    用户1258909
  • idea-ssm-crud项目实战(三)

    前面已经搭建好了ssm框架了,这一章节就写一下员工的crud了,都是一步步来操作,前台页面使用的Bootstrap来操作。如果idea中搭建ssm不会的可以去看...

    用户5224393
  • jquery中各个属性的应用

    <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf...

    闵开慧
  • Android 系统剪贴板的使用 - 复制、获取和清空

    Jingbin
  • Android 系统剪贴板的使用 - 复制、获取和清空

    Jingbin
  • Java数据结构告诉你如何选用数据集合(2)顺序表

    今天接着上次的内容详细讲,用Java实现一个顺序表。名字就取MyArrayList,有点随便。上次讲了,顺序表的实现是使用数组实现的,那么在编写顺序表的时候就需...

    ZackSock
  • 几种常用的JS类定义方法

    // 方法1 对象直接量 var obj1 = { v1 : "", get_v1 : function() { return ...

    joshua317

扫码关注云+社区

领取腾讯云代金券