Commit 7b5fd969 authored by tammam.alsoleman's avatar tammam.alsoleman

edit FileProducer to use PriorityBlockingQueue

parent d998425e
......@@ -4,17 +4,17 @@ import model.SequencedLine;
import java.io.BufferedReader;
import java.io.FileReader;
import java.io.IOException;
import java.util.concurrent.BlockingQueue;
import java.util.concurrent.PriorityBlockingQueue;
import java.util.concurrent.atomic.AtomicBoolean;
public class FileProducer implements Runnable {
private final String inputFilePath;
private final BlockingQueue<SequencedLine> inputQueue;
private final PriorityBlockingQueue<SequencedLine> inputQueue;
private final AtomicBoolean productionFinished;
private int sequenceCounter = 0;
public FileProducer(String inputFilePath,
BlockingQueue<SequencedLine> inputQueue,
PriorityBlockingQueue<SequencedLine> inputQueue,
AtomicBoolean productionFinished) {
this.inputFilePath = inputFilePath;
this.inputQueue = inputQueue;
......@@ -50,10 +50,7 @@ public class FileProducer implements Runnable {
} catch (IOException e) {
System.err.println("Error reading file: " + e.getMessage());
e.printStackTrace();
} catch (InterruptedException e) {
System.err.println("Producer was interrupted while waiting for queue space");
Thread.currentThread().interrupt(); // Restore interrupt status
} finally {
} finally {
// Signal that production is finished
productionFinished.set(true);
System.out.println("Producer: File reading completed");
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment