线程进行定时操作
来源:互联网 发布:mac os 启动管理界面 编辑:程序博客网 时间:2024/06/07 09:34
1)首先声明Timer变量:
//一定要声明成局部变量以保持对Timer的引用,否则会被垃圾收集器回收!
private System.Threading.Timer timerClose;
(2)在上述自动执行代码后面添加如下Timer实例化代码:
// Create a timer thread and start it
timerClose = new System.Threading.Timer(new TimerCallback(timerCall), this, 5000, 0);
//Timer构造函数参数说明:
Callback:一个 TimerCallback 委托,表示要执行的方法。
State:一个包含回调方法要使用的信息的对象,或者为空引用(Visual Basic 中为 Nothing)。
dueTime:调用 callback 之前延迟的时间量(以毫秒为单位)。指定 Timeout.Infinite 以防止计时器开始计时。指定零 (0) 以立即启动计时器。
Period:调用 callback 的时间间隔(以毫秒为单位)。指定 Timeout.Infinite 可以禁用定期终止。
(3)定义TimerCallback委托要执行的方法:
private void timerCall(object obj)
{
timerClose.Dispose();
this.Close();
}
当然,除了使用上述System.Threading.Timer类的TimerCallback 委托机制外,应该还有很多其他的办法。
另外,这里只是demo了TimerCallback委托的简单应用。
实例如下:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.Threading;
namespace MYTimerTest、
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void Form1_Load(object sender, EventArgs e)
{
System.Threading.Timer timer = new System.Threading.Timer(new
TimerCallback(timer_Elapsed), null, 0, 1000);
}
void timer_Elapsed(object sender)
{
for (int i = 0; i < 10; i++)
{
Console.Out.WriteLine(DateTime.Now + " " + DateTime.Now.Millisecond.ToString() + "timer in:");
}
}
}
}
注意void timer_Elapsed(object sender)中的“object”对应new System.Threading.Timer(new TimerCallback(timer_Elapsed), null, 0, 1000)中的
第二个参数
阅读全文
0 0
- 线程进行定时操作
- 线程定时操作
- Storm分布式处理中进行定时操作
- Redis 进行定时任务的操作
- 利用NSOperation进行线程操作
- linux下使用c进行线程操作
- 利用FutureTask进行线程并发操作
- asynctask 异步线程类进行多线程操作
- 线程池之ScheduledThreadPool(周期、定时操作)
- 定时操作
- 禁止在窗口界面线程中进行线程同步或进行耗时的操作。。。
- MFC 定时触发器实现循环给指定线程进行发送消息
- 教大家利用ExecutorService对线程进行操作
- 教大家利用ExecutorService对线程进行操作
- Android中启动线程来进行耗时操作
- android开发 用线程进行耗时操作,统一处理
- android 子线程进行网络连接等操作-AsyncTask方法
- Python 定时线程,延时线程
- Join有关的几种连接查询
- HDU
- form表单
- 去除input为date的小三角方法 -webkit-appearance: none;
- Vessels
- 线程进行定时操作
- iOS音频——AudioToolbox
- iOS:一句代码实现文本输入的限制
- Hadoop2.8.0 单机搭建和eclipse开发应用配置 新手笔记
- 面向对象练习题
- SweetSheet的Java.lang.IllegalStateException: Cannot start this animator on a detached view!异常
- linux 截取文件名字
- JSP学习---MVC开发模式
- debug jdk源码出现debug info unavailable 解决方法