JAVA中增强循环中用线程_在Java中以循环方式运行线程
我是Java中的多線程和同步的新手。我正在嘗試實(shí)現(xiàn)一項(xiàng)任務(wù),其中給了我5個(gè)文件,每個(gè)文件將由一個(gè)特定線程讀取。每個(gè)線程應(yīng)從文件讀取一行,然后將執(zhí)行轉(zhuǎn)發(fā)到下一個(gè)線程,依此類推。當(dāng)所有5個(gè)線程都讀取第一行時(shí),然后再次從線程1運(yùn)行行號(hào)開始。文件1中的2,依此類推。
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();
并且在ReadFile(在run方法中實(shí)現(xiàn)Runnable的情況下,我正在嘗試在bufferreader對(duì)象上進(jìn)行同步。
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
}}
需要幫忙
總結(jié)
以上是生活随笔為你收集整理的JAVA中增强循环中用线程_在Java中以循环方式运行线程的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 全数字实时仿真平台SkyEye目标码覆盖
- 下一篇: java美元兑换,(Java实现) 美元