首页 > 编程语言 > 详细

DAY-0429 多线程操作

时间:2020-05-06 00:51:48      阅读:67      评论:0      收藏:0      [点我收藏+]

由于需要使用一个线程来执行对远端设备的实时读取,

1.线程何时启动,目前在每次按下实时读取按钮后创建一个新线程,用于实时读取

2.多线程在关闭再次启动后报错:多线程在每次读取数据按钮click时都需要重新开启,线程的停止使用whiel中判断isReadPlc还是使用直接Abort,目前未使用Abort,且不用Abort比较安全(不太懂)。

3.跨线程访问报错,方法1:System.Windows.Forms.Control.CheckForIllegalCrossThreadCalls = false;  此方法无法保证线程安全,故更换方案

我们需要使用invoke

首先了解几个概念  同步:调用者需要等待方法调用返回后才能进行下一步工作  异步:调用者可以继续下一步操作,异步方法通常会在另一个线程执行。

阻塞和非阻塞 强调的是程序在等待调用结果(消息,返回值)时的状态.  阻塞调用是指调用结果返回之前,当前线程会被挂起。调用线程只有在得到结果之后才会返回。非阻塞调用指在不能立刻得到结果之前,该调用不会阻塞当前线程。 对于同步调用来说,很多时候当前线程还是激活的状态,只是从逻辑上当前函数没有返回而已,即同步等待时什么都不干,白白占用着资源。

DAY-0429 多线程操作

原文:https://www.cnblogs.com/huangdaxianYL/p/12806526.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!