Refactor: Replace LinkedBlockingQueue with ArrayBlockingQueue for improved performance
This commit is contained in:
@@ -7,11 +7,11 @@ import java.nio.file.InvalidPathException;
|
|||||||
import java.nio.file.NoSuchFileException;
|
import java.nio.file.NoSuchFileException;
|
||||||
import java.nio.file.Path;
|
import java.nio.file.Path;
|
||||||
import java.util.Arrays;
|
import java.util.Arrays;
|
||||||
|
import java.util.concurrent.ArrayBlockingQueue;
|
||||||
import java.util.concurrent.BlockingQueue;
|
import java.util.concurrent.BlockingQueue;
|
||||||
import java.util.concurrent.ExecutorService;
|
import java.util.concurrent.ExecutorService;
|
||||||
import java.util.concurrent.Executors;
|
import java.util.concurrent.Executors;
|
||||||
import java.util.concurrent.Future;
|
import java.util.concurrent.Future;
|
||||||
import java.util.concurrent.LinkedBlockingQueue;
|
|
||||||
import java.util.function.Consumer;
|
import java.util.function.Consumer;
|
||||||
|
|
||||||
import de.extio.checkdataintegrity.BufferPool.Buffer;
|
import de.extio.checkdataintegrity.BufferPool.Buffer;
|
||||||
@@ -41,8 +41,8 @@ class Task implements Consumer<Path> {
|
|||||||
final Path p1 = Path.of(this.args.path1() + rel);
|
final Path p1 = Path.of(this.args.path1() + rel);
|
||||||
|
|
||||||
try (RandomAccessFile raf0 = new RandomAccessFile(path.toFile(), "r"); RandomAccessFile raf1 = new RandomAccessFile(p1.toFile(), "r")) {
|
try (RandomAccessFile raf0 = new RandomAccessFile(path.toFile(), "r"); RandomAccessFile raf1 = new RandomAccessFile(p1.toFile(), "r")) {
|
||||||
final BlockingQueue<Buffer> queue0 = new LinkedBlockingQueue<>(1);
|
final BlockingQueue<Buffer> queue0 = new ArrayBlockingQueue<>(1);
|
||||||
final BlockingQueue<Buffer> queue1 = new LinkedBlockingQueue<>(1);
|
final BlockingQueue<Buffer> queue1 = new ArrayBlockingQueue<>(1);
|
||||||
final Future<?> future0 = this.executorService.submit(() -> this.loader(raf0, queue0));
|
final Future<?> future0 = this.executorService.submit(() -> this.loader(raf0, queue0));
|
||||||
final Future<?> future1 = this.executorService.submit(() -> this.loader(raf1, queue1));
|
final Future<?> future1 = this.executorService.submit(() -> this.loader(raf1, queue1));
|
||||||
try {
|
try {
|
||||||
|
|||||||
Reference in New Issue
Block a user