多个线程可以同时将数据写入文件吗?

发布于 2021-01-30 22:41:33

如果您曾经使用过p2p下载软件,则他们可以使用多线程下载文件,并且只能创建一个文件,所以我想知道线程如何将数据写入该文件。顺序还是并行?

想象一下,您想将大数据库表转储到文件中,以及如何使这项工作更快?

关注者
0
被浏览
77
1 个回答
  • 面试哥
    面试哥 2021-01-30
    为面试而生,有面试问题,就找面试哥。

    您可以使用多个线程将a写入文件(例如日志文件)。但是您必须协调@Thilo指出的线程。您需要同步文件访问并仅写入整个记录/行,或者需要制定一种策略来将文件的区域分配给不同的线程,例如用已知的偏移量和大小重新构建文件。

    由于性能原因,很少这样做,因为大多数磁盘子系统在顺序写入时性能最佳,而磁盘IO是瓶颈。如果CPU创建记录或文本行(或网络IO)是瓶颈,则可以提供帮助。

    您想将大数据库表转储到文件中的图像,以及如何使这项工作更快?

    顺序写入可能是最快的。



推荐阅读
知识点
面圈网VIP题库

面圈网VIP题库全新上线,海量真题题库资源。 90大类考试,超10万份考试真题开放下载啦

去下载看看