.NET提取Thread返回值的方法是什么
发表于:2025-02-08 作者:千家信息网编辑
千家信息网最后更新 2025年02月08日,这篇文章主要介绍".NET提取Thread返回值的方法是什么",在日常操作中,相信很多人在.NET提取Thread返回值的方法是什么问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对
千家信息网最后更新 2025年02月08日.NET提取Thread返回值的方法是什么
这篇文章主要介绍".NET提取Thread返回值的方法是什么",在日常操作中,相信很多人在.NET提取Thread返回值的方法是什么问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答".NET提取Thread返回值的方法是什么"的疑惑有所帮助!接下来,请跟着小编一起来学习吧!
一、.NET 2.0+
你可以直接使用 Thread
对象,然后你可以使用闭包(声明变量并在 lambda
中捕获它),参考如下代码:
object result = null;Thread thread = new System.Threading.Thread(() => { //Some work... result = 42; });thread.Start();thread.Join();Console.WriteLine(result);
也可以使用 IAsyncResult
然后在EndInvoke()
方法中获取返回值。
BackgroundWorker worker = new BackgroundWorker();worker.DoWork += (s, e) => { //Some work... e.Result = 42;};worker.RunWorkerCompleted += (s, e) => { //e.Result "returned" from thread Console.WriteLine(e.Result);};worker.RunWorkerAsync();
BackgroundWorker worker = new BackgroundWorker();worker.DoWork += (s, e) => { //Some work... e.Result = 42;};worker.RunWorkerCompleted += (s, e) => { //e.Result "returned" from thread Console.WriteLine(e.Result);};worker.RunWorkerAsync();
还可以使用传统的 BackgroundWorker
,然后在 RunWorkerCompleted
事件中捕获。
二、.NET 4.0 +
从 .NET 4.0 开始,你可以通过 Task
的方式开启 Thread
,如果想获取返回值可以提取 Task
中的 Result
如下代码:
//Main thread will be blocked until task thread finishes//(because of obtaining the value of the Result property)int result = Task.Factory.StartNew(() => { //Some work... return 42;}).Result;
三、.NET 4.5 +
从 .NET 4.5 开始, 你可以使用 await
,async
的方式替代 Task
的 Result
属性,参考如下代码:
int result = await Task.Run(() => { //Some work... return 42; });
建议:用 Task 来替代传统 Thread 所做的事情。
到此,关于".NET提取Thread返回值的方法是什么"的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注网站,小编会继续努力为大家带来更多实用的文章!
方法
学习
代码
传统
方式
更多
参考
帮助
实用
接下来
事件
事情
变量
可以通过
对象
属性
建议
文章
理论
知识
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
怎么理解软件开发和编程
fxcm代理服务器
万方数据库进不去怎么回事
智能化工厂的数据库
四川gps子母钟服务器
郑州中企互联网科技有限公司
软件著作权和软件开发区别
jaca软件开发工程师
ipv6一台服务器三台路由器
网络安全周教育讲座内容
用虚拟机做服务器稳定么
杭州永益网络技术有限公司
数据库2016到2012
保护安全的网络技术措施有哪些
有知网数据库的图书馆
宁乡软件开发专业职校
软件开发从头学
xbox游戏内切换服务器
东湖评论网络安全
计算机三级网络技术浙江卷
网络安全属于国家战略
优医软件开发
软件开发为何那么多
数据库迁移后查询慢
魔兽世界4月14日服务器维护
sql数据库怎么做图表
宣传网络安全收获感想
国企软件开发干不好会被辞退嘛
本地运用docker数据库
sae数据库