MrE*_*ndo 14 .net c# multithreading timer
我有一个使用Jabber-net(XMPP库)的应用程序的消息传递方面.
我想做什么,如果由于某种原因与服务器的连接结束,就是每隔一分钟左右继续尝试连接.
如果我在下一次尝试之前启动一个Timer等待一段时间,那个定时器是否异步运行并且生成的Tick事件加入主线程,还是我需要启动自己的线程并从那里启动定时器?
Jon*_*eet 36
你用的是什么样的计时器?
System.Windows.Forms.Timer 将在UI线程中执行System.Timers.Timer 除非指定一个,否则在线程池线程中执行 SynchronizingObjectSystem.Threading.Timer 在线程池线程中执行其回调在所有情况下,计时器本身都是异步的 - 在它发生之前它不会"占用"一个线程.