1
A
回答
0
用一个定时器。它就在那里,专门为此目的,那么为什么你不使用它?
3
通常,如果他们满足您的需求,请使用已经存在的组件。然而,System.Threading.Timer
使用.NET线程池,所以任何下列条件将使其成为一个可怜的候选人:
- 你需要一个STA线程(所有
ThreadPool
线程都是MTA) - 你需要的所有出现在同一个线程
- 你要分配一个特定的优先级上的重复任务运行(更低或更高),以您的任务
- 你的任务是特别长时间运行或使用非平凡块
0
您引用的两种方法用于不同的结果。
定时器将触发该事件并按计划的时间间隔调用您的方法。他们可能会调用你的方法,而它的另一个实例正在运行,除非你在开始处理(DoWork)时停止定时器,并在你完成后再次启动它(但你可能会错过定时事件)。
循环和睡眠的方法在忙时不会被调用。这里的“优势”是您可以使用DoWork,然后再次发现下一个计时器事件已经通过并且DoWork立即生效。另一种方法是,无论您的DoWork方法花了多长时间,您都有休息时间可供您休息一段指定的时间。
相关问题
- 1. 实现定时器的最佳方式是什么?
- 2. 实现“计时器”的最佳方式是什么?
- 3. 什么是在Android应用中实现多线程的最佳/首选方法
- 4. 实现此算法的最佳方法是什么?
- 5. 重置定时器信号的最佳方法是什么?
- 6. 什么是实现WebSphere的RTC构建的最佳方法
- 7. 在PHP中实现控制器的最佳方式是什么?
- 8. 在服务器中实现AutoComplete的最佳方式是什么?
- 9. 在java中实现映射器的最佳方式是什么?
- 10. 实现记录锁定的最佳方式是什么?
- 11. 什么是同步这个事件实现的最佳方法
- 12. 什么是实现CSS样式的最佳方法?
- 13. 什么是实现树视图的最佳方法?
- 14. 实现数据库同步的最佳方法是什么?
- 15. 实现AJAX超时的最佳方式是什么?
- 16. Multigraph的最佳实现是什么?
- 17. 在Android中线程的最佳方法是什么?
- 18. 制作线程循环的最佳方法是什么?
- 19. 什么是WPF多线程的最佳方法
- 20. 管理容器中线程池的最佳做法是什么?
- 21. 什么是缩放实时白板内容的最佳方法
- 22. 实现OpenID服务器(最好是Ruby)的最佳方式是什么?
- 23. 使用2个返回实现方法的最佳方法是什么?
- 24. 实现Rx处理程序的最佳实践是什么?
- 25. 在C++中实现这种工作流程的最佳方法是什么?
- 26. 实时游戏线程之间共享对象的最佳做法是什么
- 27. 实现retainAll()方法的最佳方法
- 28. 实现线程最大执行时间的最佳方式是什么(在python/gtk中)?
- 29. 用TeamCity定义预处理器的最佳方法是什么?
- 30. 处理计时器的最佳方法是什么?
取决于你想达到的目标...如果你想要的东西有时间目的比你应该使用......等待它......定时器:D – RvdK 2010-03-16 13:15:02