计划线程vs线程.. net中的定时器



我需要从VB.NET的UI在一个单独的线程中执行代码。代码需要每隔几秒钟执行一次,也需要在用户执行某个活动时执行一次。线程将执行将更改UI的任务。我应该使用一个正常的线程,然后使用Windows.Forms.Timer定时器每隔几秒钟运行这个线程,还是使用System.Threading.Timer类更好地工作?

同样,线程必须执行的代码由多个函数组成。我应该在同一个线程上执行所有的函数,还是考虑将它们分散到几个线程中?

谢谢

如果你改变你的UI Windows.Forms.Timer是最好的方法,因为Timer-Elapsed Event会在UI线程中引发,因此你不需要改变它。如果你想在改变ui之前做出持久的动作,那么我更喜欢使用Threading.Timer。我会做出持久的动作,然后切换到UI线程(通过Invoke)并更改UI。这将使UI对用户的操作更具响应性。

最新更新