C#方法延迟返回结果
来源:互联网 发布:风暴大陆进阶数据 编辑:程序博客网 时间:2024/05/16 14:38
不知道标题恰不恰当,只不过我的需求是这个样子的:
例如一个方法A,返回值是bool类型的,但是方法执行过程中,需要另一个方法B执行结束,但是还不能直接调用B方法,可是B是等待外部信号才执行。所以需要延迟一下,等B方法执行了才返回结果。
找了些资料,找到了AutoResetEvent,可以达到我的目的,但是否是最适合的,就不知道了,由于我的项目中所谓的B方法是RS232端口读数据的,然后解析出来的返回值。并不是时时的,可能有点时间差,于是我采用了下面的方式。
原文地址:http://luacloud.com/2012/c-sharp-method-to-delay-their-return-results.html
/// <summary>/// 标志位,用来等待返回/// </summary><span class="wp_keywordlink_affiliate"><a href="http://luacloud.com/tag/autoresetevent" title="查看 AutoResetEvent 中的全部文章" target="_blank">AutoResetEvent</a></span> are = new <span class="wp_keywordlink_affiliate"><a href="http://luacloud.com/tag/autoresetevent" title="查看 AutoResetEvent 中的全部文章" target="_blank">AutoResetEvent</a></span>(false);/// <summary>/// 返回结果,可以是任意需要的类型/// </summary>object result; public object A(){ /****Begin**/ /* * 数据的拼装 * 数据的发送 **/ Send("要传输的数据"); /****End****/ //等待信号,-1代表无限等待,可以更改为其他值,单位是毫秒,等待时间过后为超时 are.WaitOne(-1, false); return result;}private void B(){ byte[] bytes = Read(); /* * 此处解析bytes中的数据 * 根据解析出来的数据 * 得到想要的结果 * */ //得到需要的结果 result = Encoding.UTF8.GetString(bytes); //给信号 are.Set();}
- C#方法延迟返回结果
- asp.net C# 一个方法返回多个结果
- C#反射动态调用dll中的方法,并返回结果
- C#反射动态调用dll中的方法,并返回结果
- C#反射动态调用dll中的方法,并返回结果
- c# List find()方法返回值的问题(返回结果为对象的指针)
- C#执行CMD命令并接收返回结果的实现方法
- C#执行CMD命令并返回结果
- linq可以通过方法来返回结果
- java 定时调用方法,有结果返回
- C#调用ORACLE存储过程返回结果集及函数
- C#调用ORACLE存储过程返回结果集及函数
- C#调用ORACLE存储过程返回结果集及函数
- C#调用ORACLE存储过程返回结果集及函数
- C#调用ORACLE存储过程返回结果集及函数
- C#调用ORACLE存储过程返回结果集及函数
- C#操作存储过程,输入参数,返回结果
- C#操作存储过程,输入参数,返回结果
- ActiveMQ使用笔记(一)ActiveMQ的安装
- Exchange Server 2010,值得考虑的升级
- 重载、覆盖(重写)、隐藏(重定义)
- thinkphp技巧
- JSP如何做"正在加载数据,请稍等..."这样的提示页面 loding。。。
- C#方法延迟返回结果
- 华为上机试题+答案(更新......)
- Create tablespace SQL
- CH/T 3001-1999 1:5000、1:1000比例尺地形图航摄像片室内外综合判调法作业规程(试行)
- JDK下载的Sun官网
- thinkphp 3.0 库配置文件
- arm9 norflash与nandflash启动过程分析
- 任何,进程,线程的区别
- Android ListView item背景图片显示方式