如何解决我如何知道线程是否仍在工作?
我目前正在开发一个程序,在该程序中,我使用线程进入目录,以查找磁盘的总使用量。我有一个似乎找不到答案的问题。
我有一个功能来查看当前目录是否包含另一个目录,如果确实存在,我想将新目录的路径推送到堆栈上。如果线程将路径推到新目录,则另一个线程将通过该目录进行搜索。
我要解决的问题是为线程找到正确的条件,我希望线程搜索工作(如果有任何路径可以搜索堆栈,如果堆栈上有任何值)任何线程都在工作。
我在想这样的事情:
While(any thread is working){
while(stack != empty){
do work
}
sleep()
}
我不知道如何知道当前是否有任何线程正在“工作”,这是发送work_complete标志的最简单方法,或者我可以为此使用信号量。我真的找不到任何类似的问题,只是当它们使用线程打印/计数某些东西时只是“简单”的例子。
编辑:
我的问题的一个更简单的版本是,我怎么知道我的线程是否在“工作”功能内?
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。