解决方案 »
- C#新手求助
- 新手关于C#多线程问题请教
- 数据库里符合条件的记录里的图片拷贝到指定目录,这个循环咋写,求助一下!!!
- 工作流引擎的实质是什么
- 请教高手:filelist中没有选中的内容,点击对应按钮,如何写警告提示?:)
- 开一间小型的Asp.Net+C#+SqlServer的公司,每人要多少钱买软件????
- c#中如何调用存储过程
- 如何DateTimePicker把当日前的日期设为不可选择的状态??
- 谁有 ASP.NET入门经典---C#编程篇 的源码啊?(能提供者尽数给分!)
- C#使用cadlib4.0控件库开发cad
- WPF,图形为什么边缘总是模糊的啊
- 怎么找到span 的class元素并点击,谢谢
我是想通过线程来循环获取PLC返回的状态信息。
PLC是什么PLC,开放协议还是需要SDK,还是利用OPC?
不管通信手段用的是什么,你要做的应该是线程循环去通信,然后显示,就这么简单.
用委托不过是线程想对UI操作,没那么复杂.
不会递归就尽量别用,while循环能搞定的问题,用了递归你自己把自己绕进去了.
递归是遍历的时候用的,不是用来让你一直不断重复执行同一个代码的.
你每递归一次,程序就实例化一个新的函数,无限循环内存就溢出了.不爱用while,你直接goto到函数开始的地方也行啊.
不要让它从最外面再进来一次了.
我是想通过线程来循环获取PLC返回的状态信息。
PLC是什么PLC,开放协议还是需要SDK,还是利用OPC?
不管通信手段用的是什么,你要做的应该是线程循环去通信,然后显示,就这么简单.
用委托不过是线程想对UI操作,没那么复杂.
不会递归就尽量别用,while循环能搞定的问题,用了递归你自己把自己绕进去了.嗯,你说的有道理,我确实把一个简单的问题复杂化了。
你需要在每次发送完指令,等待数据返回的时候,订阅一个受到数据的事件
这样程序就不用继续等了,有数据返回就开始执行数据处理的逻辑.
处理完再次发送数据,再次订阅事件.你现在全程sleep,根本是同步阻塞,不管是while循环还是自己调用自己,都是按顺序在跑,没有脱离等待的过程.