C#,我怎么知道我的所有线程何时完成?

标签 c# multithreading callback

我有一个“threader”类,它会抛出执行进程的线程。线程在 threader 类中有一个回调方法,当它们完成时会调用该方法。我的问题是我如何知道线程器抛出的所有线程何时完成?

最佳答案

如果您对已启动的线程数进行计数,您可以简单地在线程启动时增加计数并在线程结束时减少计数。

然后当计数为零时,您就知道所有线程都已完成。

在处理生命周期短的线程时需要小心,以确保允许计数器在递减之前递增。需要使用某种锁定或 Interlocked.IncrementDecrement 来修改计数器变量。 Source

关于C#,我怎么知道我的所有线程何时完成?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6733892/

相关文章:

c# - 使用 ASP.NET Core Microsoft.Extensions.DependencyInjection 注册部分封闭的泛型类型

c# - roslyn 分析器发出警告,后来被删除

java - 线程等待通知中的 IllegalMonitorStateException

JavaScript:回调访问另一个参数

c# - 如何使用 POST 在 HTTP 服务器上上传文件?

python - 用正确的方法包装Pyro的NameServer

java - 为什么两个线程计算速度比一个慢?

ruby - Rails:猴子修补 ActiveRecord::Base 与创建模块

javascript - NodeJS 中的日期未正确更新

c# - 为什么我不能直接访问属性 ".SingleAsync().Property"?