Tópicos em execução na forma round robin em java
Eu sou novo no multithreading e sincronização em java. Eu estou tentando conseguir uma tarefa em que eu sou dado 5 arquivos, cada arquivo será lido por um segmento específico. Cada thread deve ler uma linha do arquivo e, em seguida, encaminhar a execução para o próximo thread e assim por diante. Quando todos os 5 threads lerem a primeira linha, inicie novamente a partir do thread 1 executando a linha no. 2 do arquivo 1 e assim por diante.
Thread ReadThread1 = new Thread(new ReadFile(0));
Thread ReadThread2 = new Thread(new ReadFile(1));
Thread ReadThread3 = new Thread(new ReadFile(2));
Thread ReadThread4 = new Thread(new ReadFile(3));
Thread ReadThread5 = new Thread(new ReadFile(4));
// starting all the threads
ReadThread1.start();
ReadThread2.start();
ReadThread3.start();
ReadThread4.start();
ReadThread5.start();
e em ReadFile (que implementa Runnable, no método de execução, estou tentando sincronizar no objeto bufferreader.
BufferedReader br = null;
String sCurrentLine;
String filename="Source/"+files[fileno];
br = new BufferedReader(new FileReader(filename));
synchronized(br)
{
while ((sCurrentLine = br.readLine()) != null) {
int f=fileno+1;
System.out.print("File No."+f);
System.out.println("-->"+sCurrentLine);
br.notifyAll();
// some thing needs to be dine here i guess
}}
Preciso de ajuda