【发布时间】:2015-07-22 00:37:57
【问题描述】:
我想阅读 .txt 的行来完成任务,然后继续下一行。
为了让程序更快,我想多线程,所以每个线程都尝试一行。
问题是,我不希望线程 1 尝试与线程 2 相同的行。
有什么想法吗?
【问题讨论】:
-
让每个线程跳过x行,x为线程数;或者只使用共享的
Scanner/FileReader/StringReader并调用nextLine()或类似名称。确保在每次读取一行时锁定Scanner,以免同时遇到两次读取访问。 -
有点跑题了:为什么你认为做这个多线程会更快?
-
您的代码将受 I/O 限制,而不是 CPU 限制,因此多线程不会提高性能。
标签: java multithreading bufferedreader