/multithread-word-count

Java basic practice for beginners: Multithread

Primary LanguageJava

多线程练习:实现一个多线程的Word Count

Word Count是一个著名的练手程序。一个文本文件包含若干行,每行包含若干个只包含小写字母的单词,单词之间以空格分割。

请编写一个程序,统计一个文件列表中,每个单词出现的次数。我知道跟课上讲的不太一样——我希望你能举一反三。

例如,文件内容是:

i am a boy
i have a dog

你应该返回一个Map:{i->2, am->1, a->2, boy->1, have->1, dog->1}

请编写一个多线程的count方法完成挑战。我们鼓励你采用不同的方法尝试,例如:

  • Object.wait/notify
  • Lock/Condition
  • CountDownLatch
  • Future与线程池
  • ForkJoinPool
  • parallelStream()
  • 等等等等

你可以在MultiThreadWordCount1/MultiThreadWordCount2/../MultiThreadWordCount5中使用不同方式完成挑战, 你也可以使用类似的格式,新建MultiThreadWordCountX类使用更多方法完成挑战,每当你新建MultiThreadWordCountX类,它都会被自动测试。

祝你好运!


注意!我们只允许你修改以下文件,对其他文件的修改会被拒绝:


完成题目有困难?不妨来看看写代码啦的相应课程吧!

回到写代码啦的题目,继续挑战!