完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
扫一扫,分享给好友
查了一下stackoverflow,这个可以说是一个bug,也可以说是一个特性,原文如下: It's not a bug. The only reason it would hang when you close it is because in the event handler of your SerialPort object, you're synchronizing a call with the main thread (typically by calling invoke). SerialPort's close method waits for its EventLoopRunner thread which fires DataReceived/Error/PinChanged events to terminate, but since your own code in the event is also waiting for main thread to respond, you run into a dead lock situation. The reason the bug report was closed 'as designed' is because the 'bug' is in your own code. 大概意思就是同步调用时由于要响应事件循环,因此等待时间就会比较长,解决方法就是新开一个线程,不要在主线程(界面UI)中调用close方法,对应的labview写法当然是异步调用了,即把close这一段封装成一个子VI,然后进行异步调用。 如下图所示: 评分 |
|
2 条评论
|
|
你的版本太高了,我的2017都没法打开,在论坛上问问题,请尽量将附件vi转成较低的版本,方便大家,也方便自己。
|
|
|
|
问题出在C#serialport类的close方法会造成线程死锁会卡,但是不知道怎么解决!
|
|
|
|
用了nuget的serialportstream,原来2,30秒的等待变成7,8秒了,但还是大!
|
|
|
|
用了nuget的serialportstream可以了,可能是上次测试是参数设错了!
|
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
labview如何实现电机位置与图像清晰度计算值相对应,或者说如何实现电机每步距计算一次清晰度值?
1118 浏览 2 评论
1694 浏览 1 评论
2098 浏览 2 评论
NI Vision有个图片打不开其他图都能打开(用NI Vision Assistant也打开不了)
2498 浏览 1 评论
labview2015使用Excel报表程序打包生成后打开程序要选一个vi才能使用,否则软件就会报错,这是什么问题?
3047 浏览 2 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2025-1-20 07:39 , Processed in 0.450954 second(s), Total 59, Slave 52 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号