我有一台四核机器,想编写一些代码来解析一个利用所有四核的文本文件。文本文件基本上每行包含一条记录。
多线程不是我的强项,所以我想知道是否有人可以给我一些我可以用来以最佳方式解析文件的模式。
我的第一个想法是将所有行读入某种队列,然后启动线程以将行从队列中拉出并处理它们,但这意味着队列必须存在于内存中,而且这些文件相当大,所以我我不那么热衷于这个想法。
我的下一个想法是拥有某种控制器,它将读取一行并为其分配一个线程来解析,但我不确定如果线程处理行的速度比它可以更快,控制器是否最终会成为瓶颈阅读并分配它们。
我知道可能还有比这两个更简单的解决方案,但目前我只是没有看到它。