登录
/
注册
首页
论坛
其它
首页
科技
业界
安全
程序
广播
Follow
关于
导读
排行榜
发帖说明
登录
/
注册
账号
自动登录
找回密码
密码
登录
立即注册
搜索
搜索
关闭
CSDN热搜
程序园
精品问答
技术交流
资源下载
本版
帖子
用户
软件
问答
教程
代码
写记录
写博客
小组
VIP申请
VIP网盘
网盘
联系我们
发帖说明
道具
勋章
任务
淘帖
动态
分享
留言板
导读
设置
我的收藏
退出
腾讯QQ
微信登录
返回列表
首页
›
资源区
›
代码
›
.net c# Func<Task>及变体做为多播委托异步执行会另开线 ...
.net c# Func<Task>及变体做为多播委托异步执行会另开线程的问题
[ 复制链接 ]
呼延含玉
2025-5-29 10:56:07
猛犸象科技工作室:
网站开发,备案域名,渗透,服务器出租,DDOS/CC攻击,TG加粉引流
1. 问题
环境是dotnet8及以前的版本,dotnet9+不知道是否还有这个问题(我猜是一样的)。
如下代码,在多播委托await异步执行时,不会等待委托方法执行完成,它们在新的线程中运行。
async Task A()
{
}
async Task B()
{
}
Func<Task> func;//下面+=运算赋值为多播委托
func+=async()=>await A();
func+=async()=>await B();
await func();//这里不会等待A和B方法执行完成,它们在新的线程中运行
复制代码
2. 解决
用GetInvocationList方法取得所有委托方法,逐个执行。
Func<Task> func;//下面+=运算赋值为多播委托
func+=async()=>await A();
func+=async()=>await B();
var subscribers = func.GetInvocationList();//取得多播委托的每个方法然后逐个执行
foreach(var subscriber in subscribers)
{
var asyncMethod = (Func<Task>)subscriber;
await asyncMethod();
}
复制代码
3. 总结
同样的道理,也适用于事件,因为事件本身也是委托。用这个办法就可以解决事件、委托、Action、Func等同步还是异步执行的问题。
来源:程序园用户自行投稿发布,如果侵权,请联系站长删除
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!
net
线程
另开
行会
异步
相关帖子
.Net中WebApiController如何实现多版本兼容?
面试官问我:线程锁导致的kafka客户端超时,如何解决?
边界突围:中国.NET技术的七年认知演进与社区化生态重构
.NET+AI | MEAI | 自定义中间件(8)
推荐一种手动设置异步线程等待机制的解决方案
基于 JSON 配置的 .NET 桌面应用自动更新方案
.NET周刊【11月第2期 2025-11-09】
.NET 生态系统中 LoongArch 与 RISC-V 的整合深度分析
go net/http 学习笔记
同事突然问我:异步网络请求编码的方法
回复
使用道具
举报
提升卡
置顶卡
沉默卡
喧嚣卡
变色卡
千斤顶
照妖镜
相关推荐
业界
.Net中WebApiController如何实现多版本兼容?
0
601
孜尊
2025-11-27
安全
面试官问我:线程锁导致的kafka客户端超时,如何解决?
0
392
冷晓晴
2025-11-29
业界
边界突围:中国.NET技术的七年认知演进与社区化生态重构
0
337
打阗渖
2025-11-30
业界
.NET+AI | MEAI | 自定义中间件(8)
1
96
田雅宁
2025-11-30
安全
推荐一种手动设置异步线程等待机制的解决方案
2
564
褥师此
2025-12-01
业界
基于 JSON 配置的 .NET 桌面应用自动更新方案
0
824
衣旱
2025-12-02
业界
.NET周刊【11月第2期 2025-11-09】
1
297
汤昕昕
2025-12-02
业界
.NET 生态系统中 LoongArch 与 RISC-V 的整合深度分析
1
798
替攀浮
2025-12-05
业界
go net/http 学习笔记
2
858
赴忽
2025-12-07
安全
同事突然问我:异步网络请求编码的方法
0
222
能拘
2025-12-09
回复
(2)
遑盲
2025-10-12 00:41:56
回复
使用道具
举报
照妖镜
猛犸象科技工作室:
网站开发,备案域名,渗透,服务器出租,DDOS/CC攻击,TG加粉引流
收藏一下 不知道什么时候能用到
赊朗爆
前天 16:35
回复
使用道具
举报
照妖镜
猛犸象科技工作室:
网站开发,备案域名,渗透,服务器出租,DDOS/CC攻击,TG加粉引流
感谢,下载保存了
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
|
立即注册
回复
本版积分规则
回帖并转播
回帖后跳转到最后一页
签约作者
程序园优秀签约作者
发帖
呼延含玉
前天 16:35
关注
0
粉丝关注
30
主题发布
板块介绍填写区域,请于后台编辑
财富榜{圆}
anyue1937
9994893
kk14977
6845356
3934307807
991122
4
xiangqian
638210
5
宋子
9984
6
韶又彤
9999
7
闰咄阅
9993
8
刎唇
9993
9
俞瑛瑶
9998
10
蓬森莉
9951
查看更多