首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > JavaScript >

ExtJs 学习札记(2)TaskRunner

2013-10-24 
ExtJs 学习笔记(2)TaskRunner主要两项功能:执行次数的限制、执行时间的限制(即超时)。TaskRunner 旨在利用计

ExtJs 学习笔记(2)TaskRunner
主要两项功能:执行次数的限制、执行时间的限制(即超时)。TaskRunner 旨在利用计时器分时执行方法提供一个相对简易的并行运行机制,其目的不但在于一般的延时执行任务,还可以同时进行多项任务。这样的话,任意个独立的任务都可以在任何时候开始,并彼此独立地运行。那么是否与多线程的概念有些相近呢?其实不尽然——这里必须说明一下,尽管 ExtJS 官方文档提出“提供以多线程的方式执行一个或多个任务的能力”的概念,但并不是真正的代替“线程(thread)”,仅仅是“模拟”。因为我们晓得,浏览器接口也好,JS运行时也好,仍不出“单线程模型”的范围内,所以我们认为充其量只是模拟线程的一种手段。在内部结构中,由数组 tasks[] 保持着任务对象的队列。


能提供多线程的定时服务,该类提供了多线程任务的管理。你可以通过Ext.TaskMgr来创建TaskRunner的一个实例,其次也可以自行创建Ext.util.TaskRunner的实例。该类可保障每一个任务或服务都可以在任何时刻独立的运行,而不会影响其他的任务或服务的运行。

如下一个简单实例:

var task = {run:function(){Ext.Msg.alert("提示","线程已经运行!我将每次运行重复5次!但10秒后我将停止!");},interval:1000,repeat:5,duration:10000};var runner = new Ext.util.TaskRunner();runner.start(task);runner.stopAll();


热点排行
Bad Request.