如何使用线程遍历目录?

问题描述:

我很新的使用线程。我有一个任务要做,而不是如何开始。希望你们能给我一些提示。如何使用线程遍历目录?

我必须编写一个程序,它遍历目录并从文本文件中读取文本。 主线程必须开始遍历。对于每个找到的目录,主线程必须启动一个新线程。最后,我必须返回所有目录的数量。

我不允许使用并发api。这意味着,我只能使用wait(),notify(),synchronized等。 我正在使用DirectoryStream进行遍历。

我真的不知道如何编程一个主线程,它为每个找到的单个目录启动新线程。

在此先感谢

提示,让你开始。

  1. 掌握一本体面的Java教科书并阅读关于线程等的第一章或Oracle Java教程的相关部分。

  2. 了解如何创建主题。

  3. 了解如何启动主题。

  4. 了解如何使线程做一些有用的事情。阅读关于Thread构造函数的Runnable参数。

  5. 了解如何“加入”一个主题。

  6. 你需要弄清楚如何更新目录的核心数:

    • 了解“同步”;即同步块和同步方法。
    • 或者,请在AtomicInteger上阅读。

请注意,这是不是算目录一条可行之路。如果效率非常低,不会扩展。 (但作为学习练习是有用的......)

+0

谢谢。统计目录的实际效率低下的方法是什么?如果需要编写长文本,您可以编写一些catch语。我会查找它们。 – user3578544 2014-11-02 14:03:20