定时器

定时器的暂停,继续,刷新

吃可爱长大的小学妹 提交于 2019-12-06 10:44:18
页面挂载的时候定时器搞起 <el-row> <div class="ui-toolbar" style="height: 32px; line-height: 32px;"> <div style="margin-left:10px;" :class="isExecuteTiming ? 'green': 'red'">AUTO Refresh</div> <div style="margin-left:10px; margin-right:10px;"> <el-input v-model="autoRefreshInterval" style="width:50px;padding:0;text-align:center" @change="RefreshIntervalChange($event)"></el-input> </div> <div style="color: gray;">秒</div> <div style="margin-left:20px;cursor: pointer" @click="stopAutoRefreshTimer()" v-if="autoRefreshTimer !== null"> <img style="margin-top:10px;" src="@/assets/img/icon/ico_btn_stop.png" title=

Javascript定时器只能执行一次

匆匆过客 提交于 2019-12-06 09:25:35
为了说明问题,代码很短 <script> var test = function(){ console.log('a') } timer1 = setInterval(test(), 1000) timer2 = setInterval(console.log('b'), 1000) </script> 上面的两个定时器中都只执行了一次,并没有重复执行。 解决方案一: 函数名不要叫括号 var test = function(){ console.log('a') } timer1 = setInterval(test, 1000) 解决方案二: 在执行的函数用引号括起来(里面使用单引号,则外面用双引号) var test = function(){ console.log('a') } timer1 = setInterval("test()", 1000) timer2 = setInterval("console.log('b')", 1000) 使用场景,当重复执行的函数需要传入参数,传入的参数有肯能随时变动,只能用方案二的方法来解决。 var test = function(num){ console.log(num) } num = 10 timer1 = setInterval("test(num)", 1000) timer2 = setInterval

mysql-常用组件之定时器

落爺英雄遲暮 提交于 2019-12-06 06:39:54
定时器主要用于定时的执行一次或者循环执行一条sql,在实际场景上,例如,定期清理数据表,定期导出日志文件等等场景。本次公司晚上维护系统,晚上需要定期挂维护页,用到了定时器,这里简单总结一下。 启用定时器 MySQL event 功能默认是关闭的,可以使用下面的语句来看 event 的状态,如果是 OFF 或者 0,表示是关闭的。 检查命令 SHOW VARIABLES LIKE 'event_scheduler'; 定时器已经开启的执行结果: 如果未开启定时器,执行以下命令开启定时器: SET GLOBAL event_scheduler = 1; 注意 :虽然这里用 set global event_scheduler = on 语句开启了事件,但是每次重启服务器或重启 mysql 服务后,事件会自动关闭(event_scheduler=OFF),所以想让事件一直保持开启,最好修改配置文件,让 mysql 服务启动的时候开启时间,只需要在 my.cnf 配置文件的 [mysqld] 部分加上 event_scheduler=ON 即可: 关闭定时器命令: SET GLOBAL event_scheduler = 0; 创建定时器 创建定时器 SQL 模板: DELIMITER $$ -- SET GLOBAL event_scheduler = ON$$ -- required

定时器 Quartz Java

北城余情 提交于 2019-12-06 06:36:02
1、几种任务调度的 Java 实现方法与比较 http://www.oschina.net/question/129540_28053 //特此感谢这篇文章的作者, 我很喜欢这篇文章,里边介绍了好多关于目前定时器在工程中的使用,我总结就是多任务和单任务的模式使用,多任务不定时操作用quartz 单任务用Java的timer就行。 2、说说 quartz的使用 ( 这里我想说一个事情就是我在刚刚接触这个东西的时候走了些弯路,也怪我粗心了,当然也是学习的一个不好的毛病 ) 首先 ,用quartz 的时候重要的是找对对应的包,你不能找了一个2.2 的包放到1.6的程序中看运行效果,那必然会出错的。 其次 ,用新包或者旧包哪个好,这个看个人而言了,旧包需要倒入好几个,而新包只需要两个 见案例 (写下这篇文章时候是 2014-06-13 18:13),但是旧包好理解,更接近Java程序的运行理解,但是新包封装的更上一层,你能看到的东西很少,只是按部就班的用它就可以了 各有利弊 看你习惯怎么用了。 最后 ,实在觉得费劲就去找官网,下载带有案例的包,你照猫画虎总会吧,多试试,自然就明白怎么回事了 PS: 对于quartz来说最重要的是expression的设置,这个表达式的设置你可以找官网上去看也可以直接去search,还是那句话多试试不就出来了。 以下是我给出的案例. 包: Java程序1

利用AXI-DMA批量发送数据到DMA

旧街凉风 提交于 2019-12-06 04:55:43
1.1 主函数 int main ( void ) { XGpio_Initialize(&Gpio, AXI_GPIO_DEV_ID); XGpio_SetDataDirection(&Gpio, 1, 0); init_intr_sys(); XGpio_DiscreteWrite(&Gpio, 1, 1); axi_dma_test(); } 1.2 三个简单函数 (1)、XGpio_Initialize(&Gpio, AXI_GPIO_DEV_ID); 本语句对GPIO进行初始化,对实例数据进行配置。 (2)、XGpio_SetDataDirection(&Gpio, 1, 0); 设置GPIO的方向,向通道1写0,0:输出,1:输入。 (3)、XGpio_DiscreteWrite(&Gpio, 1, 1); 设置GPIO的输出为1。 一、 init_intr_sys函数分析 1、DMA_Intr_Init(&AxiDma,0); DMA中断实例化函数,将要配置的DMA信息先lookupConfig再进行CfgInitialize,DMA采用块模式(Block mode),如果是Sg模式,则配置失败。 2、Timer_init(&Timer,TIMER_LOAD_VALUE,0); 定时器初始化函数,传入参数有定时器结构、加载值,设备ID

FreeRTOS----调度器

我们两清 提交于 2019-12-06 02:39:20
FreeRTOS----调度器 调度器的启动流程分析 当创建完任务之后,会调用vTaskStartScheduler()函数,启动任务调度器; void vTaskStartScheduler( void ) { /* 部分代码如下: */ BaseType_t xReturn; xReturn = xTaskCreate( prvIdleTask, configIDLE_TASK_NAME, configMINIMAL_STACK_SIZE, ( void * ) NULL, portPRIVILEGE_BIT, &xIdleTaskHandle ); #if ( configUSE_TIMERS == 1 ) { if( xReturn == pdPASS ) { xReturn = xTimerCreateTimerTask(); } else { mtCOVERAGE_TEST_MARKER(); } } #endif /* configUSE_TIMERS */ if( xReturn == pdPASS ) { #ifdef FREERTOS_TASKS_C_ADDITIONS_INIT { freertos_tasks_c_additions_init(); } #endif portDISABLE_INTERRUPTS(); #if ( configUSE

pacemaker和keepalived的区别

折月煮酒 提交于 2019-12-05 22:22:31
1.pacemaker Pacemaker 是一款开源的高可用资源管理软件,适合大集群或者小集群。 Pacemaker 由Novell支持,SLES HAE就是用Pacemaker来管理集群,并且Pacemaker 得到了 来自Redhat,Linbit等公司的支持。 Pacemaker是Heartbeat 3.0的crm,它可以使用所有的Heartbeat的资源脚本,升级无忧。 当故障发生时, Pacemaker 会自动的开始恢复,比保证你的程序在集群的其他节点上提供服务, 接管故障的机器。你的用户甚至不会知道有故障发生! 什么是Pacemaker? Pacemaker是一个集群资源管理者。他用资源级别的监测和恢复来保证集群服务(aka. 资源)的最 大可用性。它可以用你所擅长的基础组件(Corosync或者是Heartbeat)来实现通信和关系管理。 Pacemaker包含以下的关键特性: 监测并恢复节点和服务级别的故障存储无关,并不需要共享存储资源无关,任何能用脚本控制的 资源都可以作为服务支持使用STONITH来保证数据一致性。支持大型或者小型的集群clusters 支持 quorate(法定人数) 或 resource(资源) 驱动的集群支持任何的 冗余配置自动同步各个节 点的配置文件可以设定集群范围内的ordering, colocation and anti

js定时器的应用

我们两清 提交于 2019-12-05 20:06:22
定时器分为两种 一种是一次性的,时间到就执行 var timer=setTimeout(fun,毫秒数); 清除的方法 clearTimeout(timer) 第二种是周期性的,根据设定的时间周期进行 var timer=setInterval(fun,毫秒数); 清除的方法 clearInterval(timer) 下面写一个简单的关于定时器的小案例    <body> <h1>距离吃饭时间</h1> <span id="time"></span> <script type="text/javascript"> var oSpan=document.getElementById('time'); function task(){ var now=new Date(); var fangxue=new Date('当天的日期 17:30:00'); var s=parseInt((fangxue-now)/1000);//总共的秒数 if(s){ var days=parseInt(s/3600/24);//天数 var h=parseInt(s/3600%24);//小时数 var m=parseInt(s/60%60);//分钟 var ss=parseInt(s%60);//秒数 oSpan.innerHTML=`${days}天${h}小时${m}分钟${ss}秒`

一种基于有序链表的高效定时器的实现

谁说胖子不能爱 提交于 2019-12-05 19:04:42
一种基于有序链表的高效定时器的实现 软件定时器应用较广泛,在嵌入式开发时使用OS时,一般可使用OS提供的软件定时器,裸机开发时,可能会需要自己造轮子,本文设计了一种基于有序链表的软件定时器。 工作原理 维护1个定时器链表,表头为最早触发的定时器,后续每个定时器均包含距离上一个定时器的间隔时间;执行时只需判断表头定时器是否满足执行条件,不需要遍历所有定时器;添加定时器时,只需从表头向后遍历,将定时器插入合适的位置,同时将下1个定时器的间隔时间减去新增定时器间隔时间即可;删除定时器,则只需将定时器从链表移除,同时将下1个定时器间隔时间加上删除定时器间隔时间。为实现周期定时功能,需要新增一些指示定时器参数的成员变量。 例如:当定时器链表为空,顺序添加5个定时器,定时时间分别为定时器a:3、定时器b:5、c:12、d:8、e:8,则链表最终表现为 定时器n:间隔时间 a:3 -> b:2 -> d:3 -> e:0 -> c->4。 但是定时器任务不可能同时添加,可能会在任何时间添加或删除,因此需要维护一个参数记录最终触发时间,与当前时间求差即可获得已逝去时间,将这个差值加在新增定时器间隔时间即可。 定时器主处理函数,可放于中断中,或者直接放在主循环或者IDLE中即可。放于中断内,需要注意内部函数执行时间不能过长,否则影响定时精度。 代码 头文件: m_timeouts.h /** *

单片机期末复习

心不动则不痛 提交于 2019-12-05 18:17:55
一、硬件结构 1.1部分引脚说明 RST:复位引脚,两个机器周期的高电平后复位 ALE:锁存低八位地址 EA:高电平时,访问内部程序存储器(ROM) P0:双向IO口、分时复用-低八位地址,数据总线 P1:双向IO口 P2:双向IO口,访问外部存储器时,提供高八位地址总线 P3:双向IO口,有第二功能 1.2存储器 物理上分为:4 个空间 即片内ROM、 、 片外ROM(程序存储器) 片内RAM、 、 片外RAM(数据存储器) 逻辑上分为: : 3 个空间 , 程序内存(ROM) ( 片内 、 外 ) 统一编址 MOVC 数据存储器 ( 片内) ) MOV 数据存储器(片外) MOVX 1.2.1程序存储器(ROM 作用:存储用户程序和表格常数 特殊单元: 0000H:复位后从这里开始执行程序 中断单元: 外中断0 (INT0 ) 0003H 定时器0 (T0 ) 000BH 外中断1 (INT1 ) 0013H 定时器1 (T1 ) 001BH 串行口(UART ) 0023H 1.2.2内部数据存储器(RAM 通用工作寄存器组 00~1FH共32个,四组通用寄存器,即(四组R0~R7) 可以使用RS1(PSW.4)RS0(PSW.3)来切换寄存器区 RS1 RS0 寄存器区 内存地址 00 0区 00-07H 01 1区 08-0FH 10 2区 10-17H 11 3区 18