【发布时间】:2009-06-04 13:33:38
【问题描述】:
当我关闭串行端口时,我当前正在使用的软件有时会挂起。它的间歇性和 90% 的时间都可以正常工作,但我显然有一个问题。当我 ctl+Alt+Break 显示它正在等待 serial.Close()。
我在串行端口上进出大量数据,这些数据被调用到多个表单,这是线程问题吗?
【问题讨论】:
标签: c# .net multithreading serial-port
当我关闭串行端口时,我当前正在使用的软件有时会挂起。它的间歇性和 90% 的时间都可以正常工作,但我显然有一个问题。当我 ctl+Alt+Break 显示它正在等待 serial.Close()。
我在串行端口上进出大量数据,这些数据被调用到多个表单,这是线程问题吗?
【问题讨论】:
标签: c# .net multithreading serial-port
是的,可能是这样。 See this post。 See also here,这表明使用 BeginInvoke 而不是 Invoke 可能会解决您的问题。
此外,如果您使用的是 USB 串行适配器,则可能存在驱动程序问题。其中一些驱动程序写得不好,可能会导致一大堆问题。
【讨论】: