问题描述
各位大侠,我在用C#多线程读取串口数据时,当运行一段时间后,系统输出上百行线程退出提示,然后所有串口的数据都无法读取了,请教大家是什么原因?谢谢提示如下:(我只复制了其中的一部分提示)线程0x14ac已退出,返回值为0(0x0)。线程0xf64已退出,返回值为0(0x0)。线程0x1740已退出,返回值为0(0x0)。线程0x133c已退出,返回值为0(0x0)。线程0x154已退出,返回值为0(0x0)。线程0xf8c已退出,返回值为0(0x0)。线程0x163c已退出,返回值为0(0x0)。线程0xe1c已退出,返回值为0(0x0)。线程0x164c已退出,返回值为0(0x0)。线程0x14f0已退出,返回值为0(0x0)。线程0x103c已退出,返回值为0(0x0)。线程0x15fc已退出,返回值为0(0x0)。线程0x13e0已退出,返回值为0(0x0)。线程0x1784已退出,返回值为0(0x0)。线程0x17b0已退出,返回值为0(0x0)。线程0x119c已退出,返回值为0(0x0)。线程0xeb4已退出,返回值为0(0x0)。线程0x15f0已退出,返回值为0(0x0)。线程0x127c已退出,返回值为0(0x0)。线程0x1388已退出,返回值为0(0x0)。线程0xf80已退出,返回值为0(0x0)。线程0x1524已退出,返回值为0(0x0)。线程0x1774已退出,返回值为0(0x0)。线程0x1140已退出,返回值为0(0x0)。线程0x6e0已退出,返回值为0(0x0)。线程0x12e0已退出,返回值为0(0x0)。线程0x17ac已退出,返回值为0(0x0)。线程0xc8c已退出,返回值为0(0x0)。线程0xe10已退出,返回值为0(0x0)。线程0x8b4已退出,返回值为0(0x0)。线程0x1020已退出,返回值为0(0x0)。线程0x1620已退出,返回值为0(0x0)。线程0xe70已退出,返回值为0(0x0)。线程0x16b4已退出,返回值为0(0x0)。线程0x3ac已退出,返回值为0(0x0)。线程0x1dc已退出,返回值为0(0x0)。线程0x1258已退出,返回值为0(0x0)。线程0x1574已退出,返回值为0(0x0)。线程0xe18已退出,返回值为0(0x0)。线程0x107c已退出,返回值为0(0x0)。线程0xc90已退出,返回值为0(0x0)。
解决方案
解决方案二:
用多线程读串口数据不适合,建议直接用SerialPort对象。
解决方案三:
...........线程结束了
解决方案四:
我就是用多线程技术和SerialPort读取的串口,有没有知道线程退出原因的?
解决方案五:
学习啦。。。多线程了解一点,可能帮不上什么忙
解决方案六:
你好,请问你的问题解决了吗,我也遇到这个问题了哎,感觉这些线程退出的过程很耗费系统资源,导致响应变慢,可以请教一下吗?
解决方案七:
你的程序是怎样的?贴出来,线程结束是正常的,只要线程工作函数执行完线程就结束了,