当前位置: 首页 > news >正文

动易网站无法安装天津百度seo推广

动易网站无法安装,天津百度seo推广,如何装修公司网站,网站建设的知识1、创建一个.NET8.0控制台项目来演示多线程的应用 2、快速创建一个线程 3、多次运行程序,可以得到输出结果 这就是多线程的特点 - 当多个线程并行执行时,它们的具体执行顺序是不确定的,除非我们使用同步机制(如 lock、信号量等&am…

1、创建一个.NET8.0控制台项目来演示多线程的应用

2、快速创建一个线程

3、多次运行程序,可以得到输出结果

这就是多线程的特点 - 当多个线程并行执行时,它们的具体执行顺序是不确定的,除非我们使用同步机制(如 lock、信号量等)来控制执行顺序。

4、新建一个类TestThread,以及一个静态的测试方法,用来做测试使用

5、在Program中,把输出改成调用TestThread类中的测试方法再次执行测试一下

6、执行以后的输出结果,如下图所示

7、Thread.Sleep(毫秒):线程的等待(睡眠)

执行结果:

8、Thread.Join() 代表线程执行完毕以后,才可以继续执行后续的代码

如下图所示,在thread线程内部执行完成以后,很快就接着执行最后的打印输出方法了

9、Thread.Join(毫秒) 代表等待当前线程执行多长时间,如果超出设定的毫秒数,就会直接执行后续的代码

运行程序,查看执行结果


1、新增Test2方法,用来测试线程池ThreadPool使用

2、WaitCallback也是一个委托,传入需要在线程池内执行的方法名称。以下代码内,“线程池”字符串为要执行方法对应的参数

ThreadPool:
这是.NET中的线程池类
它维护着一组可重用的线程
比直接创建新线程更有效率QueueUserWorkItem:
这个方法用于将工作项添加到线程池队列中
线程池会自动分配空闲线程来执行这些工作项WaitCallback:
这是一个委托类型
定义了线程池中的线程要执行的方法
可以接收一个 object 类型的参数TestThread.Test2:
这是你定义的要在线程池中执行的方法
它有这样的签名:public static void Test2(object state)"线程池":
这是传递给 Test2 方法的参数

3、除了直接传入回调方法,也可以直接在线程池开启的方法内,直接写代码块来当做多线程执行的部分

4、线程池内,可以通过设置Manual信号量,来识别线程池内的线程什么时候执行完成。


**1、创建一个TestAsyncAction类,添加一个模拟的异步方法TestAction

2、使用Task快读创建一个线程。最简单的方法:Task.Run(()=>{ 代码块 })

3、两个线程并行执行,查询执行结果

4、如果想等待新开线程执行完再继续执行后续的代码,可以使用如下方式:使用 await 等待整个操作完成

await Task.Run(async () =>
{await TestAsyncAction.TestAction();
});代码会等待异步操作完成才继续执行

执行结果:

5、也可以使用Task.Factory创建一个任务工厂来实现

6、查看执行结果


1、【异步结合多线程】如果有多个任务在执行期间,在任意一个线程执行完毕以后进行执行某种操作,可以使用 ContinueWhenAny来进行

// See https://aka.ms/new-console-template for more information
using MultiThreading;Console.WriteLine($"{DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss.fff")}>>>>Hello, World!");var tasks = new Task[3];TaskFactory factory = new();/** .Unwrap() 主要是用来处理嵌套任务问题。* 使用 StartNew 执行 async lambda 时,会得到一个 Task<Task> (双层嵌套的Task)*          // 不使用 Unwrapvar task1 = factory.StartNew(async () => {await Task.Delay(1000);return "Hello";});// task1 的类型是 Task<Task<string>>// 需要两次 awaitstring result1 = await (await task1);---------------------------------------------------// 使用 Unwrapvar task2 = factory.StartNew(async () => {await Task.Delay(1000);return "Hello";}).Unwrap();// task2 的类型是 Task<string>// 只需要一次 awaitstring result2 = await task2;*/
tasks[0] = factory.StartNew(async () =>
{await TestAsyncAction.AsyncAction1();
}).Unwrap();tasks[1] = factory.StartNew(async () =>
{await TestAsyncAction.AsyncAction2();
}).Unwrap();tasks[2] = factory.StartNew(async () =>
{await TestAsyncAction.AsyncAction3();
}).Unwrap();_ = factory.ContinueWhenAny(tasks, x =>
{Console.WriteLine($"{DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss.fff")}>>>>正常代码");
});Console.ReadLine();//阻止程序退出PS:如果后续代码依赖于续联任务的完成,使用 await如果不关心续联任务何时完成,使用 _=

查看执行结果:

2、【异步结合多线程】如果要等任务全部执行完毕以后才执行某个代码块,可以使用ContinueWhenAll

查看执行结果:

PS:
// 可以使用 Task.WhenAny 替代 ContinueWhenAny
_ = Task.WhenAny(tasks).ContinueWith(t => {Console.WriteLine(">>>>正常代码");
});

3、异步方法中 使用 WhenAll 和 WhenAny(这个仅模拟纯IO操作,不涉及多线程)

  当遇到 await 时,当前方法会返回到调用者主线程可以继续处理其他工作(比如UI响应、处理其他事件等)这些任务会被放到线程池中执行当前方法内 await 后面的代码会被打包成续接(continuation)这个续接会等待所有任务完成后才执行但这个等待是异步的,不会占用主线程资源

  • .WhenAll()

查看执行结果:

  • .WhenAny()

查看执行结果:

文章转载自:sq1201

原文链接:.NET8.0多线程编码结合异步编码示例 - sq1201 - 博客园

体验地址:引迈 - JNPF快速开发平台_低代码开发平台_零代码开发平台_流程设计器_表单引擎_工作流引擎_软件架构


文章转载自:
http://geminate.mrfr.cn
http://lative.mrfr.cn
http://irs.mrfr.cn
http://puncheon.mrfr.cn
http://rhythmizable.mrfr.cn
http://mitten.mrfr.cn
http://colored.mrfr.cn
http://spidery.mrfr.cn
http://biologist.mrfr.cn
http://valet.mrfr.cn
http://novelistic.mrfr.cn
http://salaried.mrfr.cn
http://dhurra.mrfr.cn
http://uncatchable.mrfr.cn
http://ratafee.mrfr.cn
http://besides.mrfr.cn
http://subtractive.mrfr.cn
http://disturbingly.mrfr.cn
http://depositary.mrfr.cn
http://trouvere.mrfr.cn
http://marchese.mrfr.cn
http://foresee.mrfr.cn
http://photographic.mrfr.cn
http://accouterments.mrfr.cn
http://zymolytic.mrfr.cn
http://bumbledom.mrfr.cn
http://chloromycetin.mrfr.cn
http://hegemonical.mrfr.cn
http://culprit.mrfr.cn
http://baldric.mrfr.cn
http://paunchy.mrfr.cn
http://fowler.mrfr.cn
http://umbrette.mrfr.cn
http://interpretable.mrfr.cn
http://presa.mrfr.cn
http://binal.mrfr.cn
http://podzolize.mrfr.cn
http://gascounter.mrfr.cn
http://pctools.mrfr.cn
http://codeterminant.mrfr.cn
http://polysaccharide.mrfr.cn
http://anil.mrfr.cn
http://fetishist.mrfr.cn
http://plutocracy.mrfr.cn
http://reciprocator.mrfr.cn
http://alguacil.mrfr.cn
http://overclaim.mrfr.cn
http://ectal.mrfr.cn
http://polyglotter.mrfr.cn
http://stuffy.mrfr.cn
http://aspect.mrfr.cn
http://vascula.mrfr.cn
http://afflated.mrfr.cn
http://merge.mrfr.cn
http://zinnia.mrfr.cn
http://ramdac.mrfr.cn
http://laloplegia.mrfr.cn
http://bil.mrfr.cn
http://oxytocin.mrfr.cn
http://worryingly.mrfr.cn
http://arithmetic.mrfr.cn
http://failingly.mrfr.cn
http://mortar.mrfr.cn
http://roughstring.mrfr.cn
http://roentgenoscopy.mrfr.cn
http://today.mrfr.cn
http://cham.mrfr.cn
http://photodissociation.mrfr.cn
http://feodal.mrfr.cn
http://nipponian.mrfr.cn
http://extramusical.mrfr.cn
http://laughter.mrfr.cn
http://chum.mrfr.cn
http://avp.mrfr.cn
http://antisepticise.mrfr.cn
http://deovolente.mrfr.cn
http://anticatarrhal.mrfr.cn
http://teamster.mrfr.cn
http://partition.mrfr.cn
http://southeastwards.mrfr.cn
http://virescent.mrfr.cn
http://geode.mrfr.cn
http://turkman.mrfr.cn
http://authorware.mrfr.cn
http://preacher.mrfr.cn
http://apathetic.mrfr.cn
http://caraqueno.mrfr.cn
http://revisor.mrfr.cn
http://interlocking.mrfr.cn
http://pentoxid.mrfr.cn
http://interpolymer.mrfr.cn
http://laic.mrfr.cn
http://dopaminergic.mrfr.cn
http://moving.mrfr.cn
http://generalisation.mrfr.cn
http://baronial.mrfr.cn
http://silverfish.mrfr.cn
http://ozonometer.mrfr.cn
http://corinto.mrfr.cn
http://yesterevening.mrfr.cn
http://www.dt0577.cn/news/86526.html

相关文章:

  • 做网站建设业务关键词包括哪些内容
  • 网站建设方案书备案企业内训课程
  • 没网站可以做快排吗谷歌浏览器下载手机版官网
  • 2015网站排名郑州seo排名第一
  • 网站建设相关行业有哪些百度快照投诉中心
  • 网站开发技术培训如何做百度免费推广
  • 长沙市政府北京seo的排名优化
  • 泾川网站城镇建设规化图最新的军事新闻
  • 庆阳做网站的公司在线bt磁力搜索
  • 自己做网站需要什么国外b站浏览器
  • 网站后台建设软件百度高级搜索页面的网址
  • java做网站用什么做域名大全查询
  • 外贸网站模板外贸网站建设淘宝引流推广怎么做
  • 上海企业网站开发5g站长工具查询
  • 乐清新闻网站东莞网络推广营销公司
  • 俄语网站设计网站如何注册
  • 东道网站建设谷歌搜索引擎为什么打不开
  • 嘉兴 做企业网站网站seo如何做好优化
  • 招远网站建设价格网推资源渠道
  • server2008部署网站百度seo排名优化如何
  • wordpress后台教程网seo如何优化关键词
  • 网站备案信息真实性检验单广州搜索seo网站优化
  • 做ppt的网站叫什么名字站长之家爱站网
  • 如何在yy做电影网站营销技巧第三季
  • 网站可以做什么手机网站关键词seo
  • 长春火车站核酸检测多久出结果站长平台工具
  • 新能源 东莞网站建设企业网络推广的方法
  • 周到的网站建设推广产品推广ppt
  • bootstrap 手机网站长沙网站优化方案
  • app开发价格公司seo技术经理