Correr hilos en la moda round robin en java
Soy nuevo en Multithreading y sincronización en Java. Estoy tratando de lograr una tarea en la que me dan 5 archivos, cada archivo será leído por un hilo en particular. Cada hilo debe leer una línea del archivo y luego reenviar la ejecución al siguiente hilo, y así sucesivamente. Cuando todos los 5 subprocesos leen la primera línea, entonces comience nuevamente desde el subproceso 1, línea de ejecución no. 2 del archivo 1 y así sucesivamente.
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();
y en ReadFile (que implementa Runnable, en el método de ejecución, estoy intentando sincronizar el objeto del lector de búfer).
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
}}
Necesitas ayuda