服务器计时器
来源:互联网 发布:linux搭建smb服务器 编辑:程序博客网 时间:2024/05/16 12:21
服务器计时器使用注意事项总结:
1:**/
2:**/
一、多线程调用。
服务器计数器是基于多线程的。基于ThreadPool支持。
Elapsed 事件在 ThreadPool 线程上引发。如果 Elapsed 事件的处理时间比 Interval 长,在另一个 ThreadPool 线程上将会再次引发此事件。因此,事件处理程序应当是可重入的。
如果 Timer 应在每次间隔结束时引发 Elapsed 事件,则为 true;默认为 true;
结果如下:
线程 0x6ac 已退出,返回值为 0 (0x0)。
线程 0x6e0 已退出,返回值为 0 (0x0)。
:::::::::::::::::::::::::::::::True
ManagedThreadId: 7
0
:::::::::::::::::::::::::::::::True
ManagedThreadId: 7
1
ManagedThreadId: 12
0
ManagedThreadId: 7
2
:::::::::::::::::::::::::::::::True
ManagedThreadId: 12
1
ManagedThreadId: 7
0
ManagedThreadId: 12
2
:::::::::::::::::::::::::::::::True
ManagedThreadId: 7
1
ManagedThreadId: 12
0
ManagedThreadId: 7
2
:::::::::::::::::::::::::::::::True
ManagedThreadId: 12
1
ManagedThreadId: 7
0
ManagedThreadId: 12
2
二、服务器计时器可以在线程之间移动来处理引发的事件
当 SynchronizingObject 为 nullNothingnullptrnull 引用(在 Visual Basic 中为 Nothing) 时,将从系统线程池中的某个线程上调用处理 Elapsed 事件的方法。有关系统线程池的更多信息,请参见 ThreadPool。
当 Elapsed 事件由可视化 Windows 窗体组件(如按钮)处理时,通过系统线程池访问组件可能导致异常,或者可能不管用。为避免这种情况,可将 SynchronizingObject 设置为 Windows 窗体组件,该组件将导致在创建它的同一线程上调用处理 Elapsed 事件的方法。
如果在 Windows 窗体设计器的 Visual Studio 中使用 Timer,则 SynchronizingObject 自动设置为包含 Timer 的控件。例如,如果将 Timer 放在 Form1(它从 Form 继承)的设计器上,则 Timer 的 SynchronizingObject 属性设置为 Form1 的实例。
- 服务器计时器
- 服务器计时器、Windows 计时器和线程计时器
- 服务器计时器与 Windows 计时器
- 基于服务器的计时器
- js 计时器,时间与服务器同步
- 计时器
- 计时器
- 计时器
- 计时器
- 计时器
- 计时器
- 计时器
- 计时器
- 计时器
- 计时器
- 计时器
- 计时器
- 计时器
- 浅谈linux字符设备注册
- 面试题,逻辑题-坐飞机和坐车走路早到20分钟的问题
- Oracle 关闭和启动 的几种方法 及 试验
- 基带传输、频带传输、宽带传输
- Java线程例子
- 服务器计时器
- 自动播放功能的实现
- 苹果官方中文参考库
- Java 规范
- C#访问SFTP服务器组件
- 3顶黑帽子,2顶白帽子
- C# 图像操作1
- Delphi下如何使程序在Win7/Vista上用管理员权限运行
- solaris性能监控