C#中不同类timer实现多线程
近几天在按老师的要求用C#做一个浏览器插件,通过与电脑相连的读卡器将数据读到浏览器中显示。基本已经完工了,但是有一个bug就是端口没连接时插件会一直循环检测,使得浏览器会特别卡。于是老师建议用多线程。老师只是一句话而已,不过可苦了我这个小白,之前压根就没接触过多线程的编程(连C#都是现学的……)。于是学了一点皮毛后各种改,没成功。
但是当我看到timer的相关知识时柳暗花明了。
在 C#里现在有3 个Timer 类:
System.Windows.Forms.Timer
System.Threading.Timer
System.Timers.Timer
其中第一种在使用时是在主线程上进行的,而剩下的两种在执行时可以开启新的线程。而我在用到timer的时候是直接拖用的timer控件,正是第一种!于是我改成了第三种,果然成功了