jjzjj

reportsRunning

全部标签

c# - 我需要将线程访问同步到 int 吗?

我刚刚编写了一个由多个线程同时调用的方法,我需要跟踪所有线程何时完成。代码使用这种模式:privatevoidRunReport(){_reportsRunning++;try{//codetorunthereport}finally{_reportsRunning--;}}这是代码中_reportsRunning的值发生变化的唯一地方,该方法运行大约需要一秒钟。有时,当我有超过六个左右的线程一起运行报告时,_reportsRunning的最终结果可能会降至-1。如果我将对_runningReports++和_runningReports--的调用封装在一个锁中,那么行为似乎是正确且一

c# - 我需要将线程访问同步到 int 吗?

我刚刚编写了一个由多个线程同时调用的方法,我需要跟踪所有线程何时完成。代码使用这种模式:privatevoidRunReport(){_reportsRunning++;try{//codetorunthereport}finally{_reportsRunning--;}}这是代码中_reportsRunning的值发生变化的唯一地方,该方法运行大约需要一秒钟。有时,当我有超过六个左右的线程一起运行报告时,_reportsRunning的最终结果可能会降至-1。如果我将对_runningReports++和_runningReports--的调用封装在一个锁中,那么行为似乎是正确且一