BFS를 사용하는 Travse 디렉토리 구조 (Igor 언급).
디렉토리에 도달하면 디렉토리의 모든 파일을 나열하는 스레드를 시작하십시오.
그리고 목록 파일/travseing 파일을 완료하면 스레드를 종료하십시오.
그래서 각 디렉토리에 파일을 나열하는 별도의 스레드가 있습니다.
예 :
root
- d1
- d1.1
- d1.2
- f1.1 ... f1.100
- d2
- d2.1
- d2.2
- d2.3
- f2.1 ... f2.200
- d3
....
OUTPUT은 다음과 같이 나타납니다 ->
디렉토리 파일을 얻을 수있는 스레드의 깊이를 travse하는 당신이 돌아올 때까지는 그래서
got d1
started thread to get files of d1
got d2
started thread to get files of d1
done with files in d1
got d3
started thread to get files of d1
got d1.1
started thread to get files of d1.1
got d1.2
started thread to get files of d1.2
것 그 일을 거의 끝냈습니다.
희망이 있으면 도움이됩니다.
아주 좋은 질문입니다! –
두 알고리즘을 프로파일 링 할 수없는 이유는 무엇입니까? – Zoidberg
To Zoidberg : 사실, 제대로하는 법을 모르겠습니다. 나는 방금 다시 개발을 시작했고 내가 유니로 돌아 왔을 때했던 것과 똑같은 일을한다. 그러나 이번에는 더 나은 것을 이해하고 싶습니다. 어떤 아이디어를 어떻게 효율적으로 테스트 할 수 있을까요? – oninea