1

在 Windows 中,我可以从单个应用程序打开多个 InputStreams 到同一个文件吗?我现在正在 Linux 中编程,在搞砸整个过程之前我想知道......

基本上我正在解析一个zip文件。我想将解压缩、读取、写入和 md5sum 的任务线程化到 2 个单独的核心,以便我可以继续该过程并继续进行下一个执行相同操作的核心。

我可以在 Linux 上执行此操作,但我担心 Windows,因为它们会锁定文件。

4

2 回答 2

2

windows 不会锁定多个阅读器。那会很好用。

也就是说,很难想象 CPU 是这种情况下的瓶颈。多线程解压缩实际上获得了明显更好的性能吗?似乎 io 更有可能成为瓶颈(在这种情况下,多线程通常无济于事)。

于 2013-03-27T22:48:14.573 回答
2

您无需担心这一点 - 除非您创建文件锁,否则文件不会被多个并发读取锁定。但是,如果您同时读取和写入,则需要小心缓冲。

无论如何,我怀疑你会在这里被磁盘绑定,并且不会通过多线程得到任何东西,但我不知道你的具体情况。

于 2013-03-27T22:50:53.727 回答