C# - 定时器Timer函数(跟控件无关)
2021-05-16 17:29
标签:mes span vat das 类型 cli initial article nta 1. System.Windows.Forms.Timer (在Window Form中使用的定时器) 当一个System.Windows.Forms.Timer类被构造时,当前定时器会和当前线程进行关联。而当计时器的计满后,一个定时器消息将被插入到当前线程的消息队列中。当前线程逐一处理消息中的所有消息,并一一派发给各自的处理方法。这样的机制和利用工作者进程定时有很大的区别,System.Windows.Forms.Timer类型并没有涉及多线程的操作,定时器的设置、定时方法的执行都在同一个线程之上。这就意味着System.Windows.Forms.Timer并不能准确计时,尤其当消息阻塞时,定时器的误差将会更大,因为定时器消息只能等待在前面的所有消息处理完后才能得到处理。但是因为System.Windows.Forms.Timer类型的定时器并不涉及多线程的操作,因此是线程安全的,不会发生回调方法重入的问题。 C# - 定时器Timer函数(跟控件无关) 标签:mes span vat das 类型 cli initial article nta 原文地址:https://www.cnblogs.com/MuZiJin/p/11805133.htmlnamespace test
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
//实例化一个timer
System.Windows.Forms.Timer myTimer = new System.Windows.Forms.Timer();
private void StartTimeBtn_Click(object sender, EventArgs e)
{
//给timer挂起事件
myTimer.Tick += new EventHandler(Callback);
//使timer可用
myTimer.Enabled = true;
//设置时间间隔,以毫秒为单位
myTimer.Interval = 1000;//1s
}
private void StopTimeBtn_Click(object sender, EventArgs e)
{
myTimer.Stop();
}
//回调函数
private void Callback(object sender, EventArgs e)
{
//获取系统时间
textBox1.Text = DateTime.Now.ToLongTimeString().ToString();
}
}
}
————————————————
版权声明:本文为CSDN博主「细水长流-青山」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/tianjing0805/article/details/75221067
文章标题:C# - 定时器Timer函数(跟控件无关)
文章链接:http://soscw.com/index.php/essay/86349.html