关于 AutoResetEvent 的介绍的简单示例

直接贴代码了:

    class Program
{
static void Main(string[] args)
{
string result = null;
Console.WriteLine(string.Format("当前时间:{0},现在是主线程,准备开始多线程...", DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss")));
AutoResetEvent resetEvent = new AutoResetEvent(false);
ThreadPool.QueueUserWorkItem(new WaitCallback(state =>
{
result = DoSomething();
resetEvent.Set();
})); resetEvent.WaitOne();
Console.WriteLine("多线程返回的值:" + result);
Console.WriteLine(string.Format("当前时间:{0},多线程执行完毕,回到主线程。", DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss")));
} static string DoSomething()
{
Thread.Sleep();
return "Finished";
}
}

运行截图:

关于 委托的 BeginInvoke 方法

直接贴代码了:

    class Program
{
static void Main(string[] args)
{
string result = null;
Console.WriteLine(string.Format("当前时间:{0},现在是主线程,准备开始多线程...", DateTime.Now.AddDays(-).ToString("yyyy-MM-dd HH:mm:ss")));
var doSomgthingDelegate = new Func<string>(DoSomething);
var asyncResult = doSomgthingDelegate.BeginInvoke(new AsyncCallback(aresult =>
{
result = doSomgthingDelegate.EndInvoke(aresult);
}), null); asyncResult.AsyncWaitHandle.WaitOne();
Console.WriteLine("多线程返回的值:" + result);
Console.WriteLine(string.Format("当前时间:{0},多线程执行完毕,回到主线程。", DateTime.Now.AddDays(-).ToString("yyyy-MM-dd HH:mm:ss")));
} static string DoSomething()
{
Thread.Sleep();
return "Finished";
}
}

运行截图(注意:多线程返回的值为 NULL,有问题):

谢谢浏览!

关于 AutoResetEvent 的介绍的简单示例的更多相关文章

  1. 基于.NET CORE微服务框架 -surging的介绍和简单示例 (开源)

    一.前言 至今为止编程开发已经11个年头,从 VB6.0,ASP时代到ASP.NET再到MVC, 从中见证了.NET技术发展,从无畏无知的懵懂少年,到现在的中年大叔,从中的酸甜苦辣也只有本人自知.随着 ...

  2. Docker(3):Dockerfile介绍及简单示例

    Dockerfile 概念 Dockerfile是由一系列命令和参数构成的脚本,这些命令应用于基础镜像并最终创建一个新的镜像.它们简化了从头到尾的流程并极大的简化了部署工作.Dockerfile从FR ...

  3. .net持续集成cake篇之cake介绍及简单示例

    cake介绍 Cake 是.net平台下的一款自动化构建工具,可以完成对.net项目的编译,打包,运行单元测试,集成测试甚至发布项目等等.如果有些特征Cake没有实现,我们还可以很容易地通过扩展Cak ...

  4. json介绍及简单示例

    JSON的定义: 一种轻量级的数据交换格式,具有良好的可读和便于快速编写的特性.业内主流技术为其提供了完整的解决方案(有点类似于正则表达式 ,获得了当今大部分语言的支持),从而可以在不同平台间进行数据 ...

  5. 网络编程4 网络编程之FTP上传简单示例&socketserver介绍&验证合法性连接

    今日大纲: 1.FTP上传简单示例(详细代码) 2.socketserver简单示例&源码介绍 3.验证合法性连接//[秘钥加密(urandom,sendall)(注意:中文的!不能用)] 内 ...

  6. flume 1.4的介绍及使用示例

    flume 1.4的介绍及使用示例 本文将介绍关于flume 1.4的使用示例,如果还没有安装flume的话可以参考:http://blog.csdn.net/zhu_xun/article/deta ...

  7. ACEXML解析XML文件——简单示例程序

    掌握了ACMXML库解析XML文件的方法后,下面来实现一个比较完整的程序. 定义基本结构 xml文件格式如下 <?xml version="1.0"?> <roo ...

  8. 【Spring-AOP-学习笔记-7】@Around增强处理简单示例

    阅读目录 简单介绍 章节1:项目结构 章节2:定义切面类.连接点注解类 章节3:为待增强的方法--添加注解声明 章节4:AspectJ配置文件 章节5:测试类xxx 章节6:测试结果 Around 增 ...

  9. Android中ProgressDialog的简单示例

    网上一般对进度条的示例都是如何显示,没有在任务结束如何关闭的文章,参考其他文章经过试验之后把整套进度条显示的简单示例如下: 建立android工程等工作都略去,Google一下就可以了. 下面来介绍主 ...

随机推荐

  1. C# 常用类库(字符串处理,汉字首字母拼音,注入攻击,缓存操作,Cookies操作,AES加密等)

    十年河东,十年河西,莫欺少年穷 学无止境,精益求精 记录下字符串类库,方便今后查阅 主要包含了字符串解决,去除HTML,SQL注入攻击检测,IP地址处理,Cookies操作,根据身份证获取性别.姓名. ...

  2. Flutter 安装笔记

    一. 安装镜像(有vpn的不用理) 1  打开终端 输入 open ~  ,回车 2  双击 .bash_profile  3  添加以下代码 后保存关闭即可(代码可能会变请直接到https://fl ...

  3. Java foreach循环

    foreach循环:增强性的for循环应用: 在for语句中,需要使用索引来进行操作具体的数组或集合内容操作:而foreach可以取消索引的操作细节: for ( 类型 变量 : 数组 | 集合 ) ...

  4. 【转】Linux上安装rz和sz命令

    简介 lrzsz 官网入口:http://freecode.com/projects/lrzsz/ lrzsz是一个unix通信套件提供的X,Y,和ZModem文件传输协议 windows 需要向ce ...

  5. 3.3 Spark的部署和应用方式

    一.Spark的部署 1.单机Local 2.集群 (1)Standalonc Spark自带的资源管理器,效率不高 (2)YARN 如果部署的是Hadoop集群,可以用YARN资源调度 (3)Mes ...

  6. python 登录并获取session,使用session新增ecshop的草稿

    ,"consignee":"冬天","email":"12345@qq.com","address" ...

  7. c# 第12节 分支语句if、switch、三位运算符

    本节内容: 1:流程控制语句分类 2:分支语句之if的使用 3:分支语句之switch的使用 4:分支语句之三位运算符 5:分支语句比较 1:流程控5:制语句分类 2:分支语句之if 3:分支语句之s ...

  8. android SDK安装Failed to fetch URL http://dl-ssl.google.com/android/repository/addons_list-1.xml出错 解决方案

    更换代理服务器:http://mirrors.neusoft.edu.cn 端口:80 reload 解决 若以上不成功在hosts文件中添加以下内容 #Google主页203.208.46.146 ...

  9. Basics of Algorithmic Trading: Concepts and Examples

    https://www.investopedia.com/articles/active-trading/101014/basics-algorithmic-trading-concepts-and- ...

  10. hdu1247-Hat’s Words-(字典树)

    http://acm.hdu.edu.cn/showproblem.php?pid=1247 题意:给出一堆单词,求哪些单词是其中某两个单词拼接起来的. 题解:用字典树存储所有的单词,标记结束点,再次 ...