(.Net,C#)线程Timer的一个小问题
2009-03-06 17:22
381 查看
假如我声明一个System.Theading.Timer的变量,并且给其绑定一个回调函数,当启用的时候写成了
Timer.Change(0,0);
会产生什么后果了?假如你不熟悉该函数的参数定义,那么你可能会认为这样写其实等价于禁用Timer。
但是当你知道了Change函数参数的定义后就会发现:其实这样写只是即时调用回调函数一次然后Timer就失去作用了。而
Timer.Change(Timeout.Infinite,Timeout.Infinite)
则是取消Timer的重复性劳动等待下次启用。
Timer的这个change问题是当我调试程序的时候,原本应该进行设置的Timer执行周期参数并没有进行赋值结果就让Timer失去了作用。
btw:线程Timer的Change函数的第一个参数意义是当Timer每一次触发执行回调前需要等待的时间,0表示立即触发,Infinite则表示永不触发回调;第二个参数表示每次触发timer的间隔时间,0表示只执行一次即第一次。
Timer.Change(0,0);
会产生什么后果了?假如你不熟悉该函数的参数定义,那么你可能会认为这样写其实等价于禁用Timer。
但是当你知道了Change函数参数的定义后就会发现:其实这样写只是即时调用回调函数一次然后Timer就失去作用了。而
Timer.Change(Timeout.Infinite,Timeout.Infinite)
则是取消Timer的重复性劳动等待下次启用。
Timer的这个change问题是当我调试程序的时候,原本应该进行设置的Timer执行周期参数并没有进行赋值结果就让Timer失去了作用。
btw:线程Timer的Change函数的第一个参数意义是当Timer每一次触发执行回调前需要等待的时间,0表示立即触发,Infinite则表示永不触发回调;第二个参数表示每次触发timer的间隔时间,0表示只执行一次即第一次。
相关文章推荐
- 常量,字段,构造方法 调试 ms 源代码 一个C#二维码图片识别的Demo 近期ASP.NET问题汇总及对应的解决办法 c# chart控件柱状图,改变柱子宽度 使用C#创建Windows服务 C#服务端判断客户端socket是否已断开的方法 线程 线程池 Task .NET 单元测试的利剑——模拟框架Moq
- sql server 关于表中只增标识问题 C# 实现自动化打开和关闭可执行文件(或 关闭停止与系统交互的可执行文件) ajaxfileupload插件上传图片功能,用MVC和aspx做后台各写了一个案例 将小写阿拉伯数字转换成大写的汉字, C# WinForm 中英文实现, 国际化实现的简单方法 ASP.NET Core 2 学习笔记(六)ASP.NET Core 2 学习笔记(三)
- 用c#开发了一个asp.net网站,遇Session超时的问题
- 一个简单的C#多线程间同步的例子 from 小菜鸟之家~ASP.NET 入门中
- C#技巧【调用线程无法访问此对象,因为另一个线程拥有该对象的问题的解决办法】【C#读写EXCEL源码提示“office检测到此文件存在一个问题。为帮助保护您的计算机,不能打开此文件”的解决】
- c#中子线程控制进度条的一个简单例子(多线程问题)
- C#程序转为VB.NET程序的一个小问题
- C#.NET常见问题(FAQ)-程序如何把窗体文件从从一个项目中复制到另一个项目
- 主题:大家好!哪位高手帮我解答一个c#.net方面的问题,谢谢
- asp.net(C#)文件下载的一个问题请教
- .NET的世界里,入门的VB / C#语法转换不该是一个问题。
- [VB.NET]在一个项目中VB.net 与 C# 共存问题?
- C#.NET常见问题(FAQ)-想要另存一个项目,sln文件丢了怎么办,如何打开高版本的项目
- ASP.NET MVC WebApi 返回数据类型序列化控制(json,xml) 用javascript在客户端删除某一个cookie键值对 input点击链接另一个页面,各种操作。 C# 往线程里传参数的方法总结 TCP/IP 协议 用C#+Selenium+ChromeDriver 生成我的咕咚跑步路线地图 (转)值得学习百度开源70+项目
- .net C# 跨越线程调用窗体上的控件一个完整的例子
- asp.net(c#)的一个非常非常奇怪的问题
- C# .NET 在一个线程中访问另一个线程的控件
- C# .NET 在一个线程中访问另一个线程的控件 方法汇总 (转载)
- c# - Timer中的一个问题
- C# .NET 在一个线程中访问另一个线程的控件