实现多线程下载同一个文件的时候,每个线程只下载文件的一部分,各自新建一个RandomAccessFile对象向同一个文件里写数据,这时每个线程写入的数据没有交集,是否需要加锁同步?线程对象的run()方法的伪代码如下:
public class DownloadThread extends Thread{ @Override
public void run() {
RandomAccessFile randomAccessFile = new RandomAccessFile("abc.exe", "rwd");
randomAccessFile.seek(position); //每个线程的position都不一样
randomAccessFile.write(data, 0, length);
}
}
public class DownloadThread extends Thread{ @Override
public void run() {
RandomAccessFile randomAccessFile = new RandomAccessFile("abc.exe", "rwd");
randomAccessFile.seek(position); //每个线程的position都不一样
randomAccessFile.write(data, 0, length);
}
}
那就表示非必需咯