跟你“开了几个异步Task”没有直接关系,关键就在于你的 Task 中难道是有 while 循环+阻塞 之类的代码? 一个任务通常几十、几百毫秒就完毕了。你如果弄了上述这种逻辑上的拥堵代码,那就什么办法都不行了。
不管怎么说技术,最怕的都是刻意地滥用技术。线程(或者是这里说 异步 Task 任务)应该瞬间就用完,就怕有人抱着“死循环、随便开”的思路去编程。
[quote=引用 31 楼 weixin_40068689 的回复:] [quote=引用 25 楼 weixin_40068689 的回复:] [quote=引用 24 楼 hanjun0612 的回复:] [quote=引用 23 楼 weixin_40068689 的回复:] 感谢感谢 ,刚刚看了下完全可以用task
[quote=引用 25 楼 weixin_40068689 的回复:] [quote=引用 24 楼 hanjun0612 的回复:] [quote=引用 23 楼 weixin_40068689 的回复:] 感谢感谢 ,刚刚看了下完全可以用task
[quote=引用 24 楼 hanjun0612 的回复:] [quote=引用 23 楼 weixin_40068689 的回复:] 感谢感谢 ,刚刚看了下完全可以用task
你意思是每个用户进入都会创建5个线程嘛? 应该改用线程池来做这个事情。
自己管理线程,或多或少会出现些问题。因为你不是专业的 线程池是线程管理工具(并非简单的线程集合) Task 是基于线程池的并行任务(Parallel 是基于多核的并行处理) 你的问题应该是子线程未随主线程的结束而结束,并在子线程中访问了已经结束的主线程成员
[quote=引用 22 楼 weixin_40068689 的回复:] [quote=引用 21 楼 hanjun0612 的回复:] [quote=引用 19 楼 weixin_40068689 的回复:] [quote=引用 17 楼 hanjun0612 的回复:] [quote=引用 14 楼 weixin_40068689 的回复:] [quote=引用 11 楼 hanjun0612 的回复:] 你意思是每个用户进入都会创建5个线程嘛? 应该改用线程池来做这个事情。
感谢感谢 ,刚刚看了下完全可以用task
[quote=引用 19 楼 weixin_40068689 的回复:] [quote=引用 17 楼 hanjun0612 的回复:] [quote=引用 14 楼 weixin_40068689 的回复:] [quote=引用 11 楼 hanjun0612 的回复:] 你意思是每个用户进入都会创建5个线程嘛? 应该改用线程池来做这个事情。
110,571
社区成员
642,565
社区内容
加载中
让您成为最强悍的C#开发者
试试用AI创作助手写篇文章吧