ExtJs 学习笔记(2)TaskRunner

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


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

如下一个简单实例:

var task = 
{
	run: function() 
	{
		Ext.fly().update(new Date().format('g:i:s A'));
	},
	interval: 1000 //单位毫秒
}

var runner = new Ext.util.TaskRunner();

runner.start(task);

(1)构造函数
构造一个函数,通过参数指定创建一个定时任务
TaskRunner([interval])
interval:可选参数,当新建立一个定时任务时,可指定interval毫秒作为该线程执行的时间间隔,如果不选该参数默认指定为10毫秒
(2)启动一个线程start()
start(task)
task:
可选参数,如果task不为空,必须具备如下属性:
run:一个函数来指定任务在某个时间执行,执行的作用域必须指明。
interval:指定任务连续执行的时间间隔。
scope:task对象run函数的作用域。
duration:在执行线程前先停止的时间。
repeat:重复执行的次数。
(3)停止一个线程stop()
stop(task)
停止指定的任务线程。
(4)停止所有线程stopAll()
stopAll()
停止所有的任务线程。



应用实例:

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();


目录
相关文章
|
10月前
|
SQL JavaScript 关系型数据库
学习jQuery笔记
学习jQuery笔记
45 0
|
Web App开发 JavaScript 前端开发
|
6天前
|
NoSQL Cloud Native Redis
Redis核心开发者的新征程:阿里云与Valkey社区的技术融合与创新
阿里云瑶池数据库团队后续将持续参与Valkey社区,如过往在Redis社区一样耕耘,为开源社区作出持续贡献。
Redis核心开发者的新征程:阿里云与Valkey社区的技术融合与创新
|
6天前
|
关系型数据库 分布式数据库 数据库
PolarDB闪电助攻,《香肠派对》百亿好友关系实现毫秒级查询
PolarDB分布式版助力《香肠派对》实现百亿好友关系20万QPS的毫秒级查询。
PolarDB闪电助攻,《香肠派对》百亿好友关系实现毫秒级查询
|
7天前
|
消息中间件 Cloud Native Serverless
RocketMQ 事件驱动:云时代的事件驱动有啥不同?
本文深入探讨了云时代 EDA 的新内涵及它在云时代再次流行的主要驱动力,包括技术驱动力和商业驱动力,随后重点介绍了 RocketMQ 5.0 推出的子产品 EventBridge,并通过几个云时代事件驱动的典型案例,进一步叙述了云时代事件驱动的常见场景和最佳实践。
115029 1
|
8天前
|
弹性计算 安全 API
访问控制(RAM)|云上安全使用AccessKey的最佳实践
集中管控AK/SK的生命周期,可以极大降低AK/SK管理和使用成本,同时通过加密和轮转的方式,保证AK/SK的安全使用,本次分享为您介绍产品原理,以及具体的使用步骤。
101801 1
|
7天前
|
自然语言处理 Cloud Native Serverless
通义灵码牵手阿里云函数计算 FC ,打造智能编码新体验
近日,通义灵码正式进驻函数计算 FC WebIDE,让使用函数计算产品的开发者在其熟悉的云端集成开发环境中,无需再次登录即可使用通义灵码的智能编程能力,实现开发效率与代码质量的双重提升。
95384 2
Doodle Jump — 使用Flutter&Flame开发游戏真不错!
用Flutter&Flame开发游戏是一种什么体验?最近网上冲浪的时候,我偶然发现了一个国外的游戏网站,类似于国内的4399。在浏览时,我遇到了一款经典的小游戏:Doodle Jump...
112727 12
|
12天前
|
SQL 存储 JSON
Flink+Paimon+Hologres 构建实时湖仓数据分析
本文整理自阿里云高级专家喻良,在 Flink Forward Asia 2023 主会场的分享。
71312 1
Flink+Paimon+Hologres 构建实时湖仓数据分析
|
16天前
|
弹性计算 运维 安全
访问控制(RAM)|云上程序使用临时凭证的最佳实践
STS临时访问凭证是阿里云提供的一种临时访问权限管理服务,通过STS获取可以自定义时效和访问权限的临时身份凭证,减少长期访问密钥(AccessKey)泄露的风险。本文将为您介绍产品原理,以及具体的使用步骤。
151041 4