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

Respuestas a la pregunta(2)

Su respuesta a la pregunta