现在,我非常清楚地了解了整个代码。如果您对这段代码有任何疑问,可以提出疑问。
在阅读了大量有关此内容后,我的问题的答案如下。
是的,你是对的,这在逻辑上是错误的。最好是_activeTasks。当线程池没有更多工作时,它用于杀死所有线程,因为waitDone()函数仅在_activeTasks <= 0时成功执行。
在waitBegin()方法中使用此变量。每当任何任务启动时,它更新由_started TRUE,意味着由用户指定的任务正处于由线程处理,手段线程开始执行这些任务的工作。如果用户未提供任务,则所有线程仍处于活动状态,并正在等待任务。这是此变量的使用。
当线程开始处理任务时,waitBegin()方法成功执行,因为在这种情况下,只有_started才为true。否则,线程将继续等待某些任务。waitDone()仅在_activeTasks变为零时才成功执行,因为这是线程池没有任何要执行的工作的唯一情况,这意味着线程池完成了其工作。否则,它将一直等待直到所有任务完成,这意味着它将等到_activeTasks变为零



