gpt4 book ai didi

android - 多个文件写入线程

转载 作者:行者123 更新时间:2023-11-30 04:24:31 29 4
gpt4 key购买 nike

我正在尝试在不挂起 UI 的情况下处理多个文件写入命令(以分隔文件)。

为了把我的问题放在上下文中,想象一下

  1. 我的主应用程序看起来像一个文件管理器。它目前看到 10 个文件,每个文件大小约为 5MB。 (不要担心这个列表是如何工作的等等)

  2. 当我选择一个文件项时,我希望它立即开始将文件复制/复制到 SD 卡上的另一个位置。通常这需要几秒钟

  3. 我希望能够在第一个文件之后立即选择第二个或第三个文件等。最后,我选择的所有文件都将被复制。例如,我可以在 5 秒内单击 5 个文件,但所有复制操作都需要一分钟。

此刻我想到了两个选项:

第一种是简单地将每个文件的文件写入命令放在一个单独的线程中。伪代码看起来像这样

Onclick
new Thread()
write file

如果这可行,可能会有 10 个线程同时运行的场景,写入 10 个单独的文件。我想知道以前是否有人这样做过,我应该注意什么

当然,第二种选择是是否已经有某种数据结构/已知方法可以解决这个问题。某种挂起的队列系统,它随着我添加请求而变大,但随着系统写入数据而变小。

最佳答案

我不太确定 SD 卡是如何工作的,但我可以告诉你,尝试并行写入单个硬盘是个坏主意,因为与顺序写入相比,它实际上会降低性能。

您可能想尝试使用 ExecutorService 并测量不同线程数的性能,但我担心您最终将不得不实现一个队列,其中一个线程获取排队的文件并写入一个接一个。

关于android - 多个文件写入线程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8732809/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com