使用oss并发下载文件时数据内容被损坏[阿里云oss]

背景

在使用多线程并发下载oss文件时,偶尔会出现多个线程下载同一文件,导致文件损坏。
例如:线程A和线程B同时下载文件txt到本地的/tmp/test.txt中,下载完成后文件被损坏,无法打开。

private void consumer() {
    for (int i = 0; i < 15; i++) {
        Thread consumer = new Thread(String.format("SstLoadTask-MainConsumer-Thread-%s", i)) {
            @Override
            public void run() {
                DownloadFileRequest request = new DownloadFileRequest("bucket", "test.txt");
                request.setDownloadFile("/tmp/test.txt");
                OSS oss = new OSSClientBuilder().build();
                oss.downloadFile(request);
            }
        };
        consumer.start();
    }
}

问题

各位大佬,请问上面操作导致文件损坏的原因是什么?是因为oss分片下载的时候把数据损坏了吗?

「点点赞赏,手留余香」

    还没有人赞赏,快来当第一个赞赏的人吧!
=====这是一个广告位,招租中,联系qq 78315851====