Działające wątki w stylu Round Robin w Javie
Jestem nowy w Wielowątkowości i synchronizacji w Javie. Próbuję osiągnąć zadanie, w którym otrzymuję 5 plików, każdy plik będzie odczytywany przez jeden konkretny wątek. Każdy wątek powinien odczytywać jedną linię z pliku, a następnie przesyłać dalej do następnego wątku i tak dalej. Gdy wszystkie 5 wątków odczyta pierwszą linię, ponownie zacznij od bieżącej linii nr 1 wątku. 2 pliku 1 i tak dalej.
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();
iw ReadFile (który implementuje Runnable, w metodzie run, próbuję synchronizować obiekt czytnika buforów).
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
}}
Potrzebuję pomocy