Winform基于多线程实现每隔基于多线程实现每隔1分钟执行一段代码分钟执行一段代码
主要介绍了Winform基于多线程实现每隔1分钟执行一段代码的方法,设计线程的操作及时间函数的用法,需要的朋
友可以参考下
本文实例讲述了Winform基于多线程实现每隔1分钟执行一段代码的方法,分享给大家供大家参考。具体实现方法如下:
1.定义相关的类Timer.cs,代码如下:
复制代码 代码如下:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading;
namespace SMIS2013.DSS.Monitor
{
public class MyTimer
{
public delegate void Elapsed(); //定义委托
public event Elapsed OnElapsed;
private long _Interval = 1000;
public long Interval
{
get { return _Interval; }
set { _Interval = value; }
}
private bool _IsStart = false;
private Thread _TimerThread;
public void Start()
{
if (_IsStart)
return;
_IsStart = true;
_TimerThread = new Thread(new ThreadStart(DoTimer));
_TimerThread.Start();
}
public void Stop()
{
try
{
if (!_IsStart)
return;
_IsStart = false;
_TimerThread.Abort();
}
catch (Exception e)
{ }
}
private void DoTimer()
{
try
{
int last = Environment.TickCount;
while (_IsStart)
{
if (Environment.TickCount - last > _Interval)
{
if (OnElapsed != null)
评论0