如何让多个线程同时运行

jsx1987 2008-10-10 05:42:51
package servlet;
import servlet.ReadFile;

public class ReadFileThread extends Thread{
long minPrime;
String filepath;
String username;
public ReadFileThread(long minPrime,String username,String filepath){
this.minPrime=minPrime;
this.username=username;
this.filepath=filepath;
}

public void run(){
ReadFile rf=new ReadFile(username,filepath);
rf.readFileThread();
}
}



for(int i=0;i<filelist.length;i++){
//System.out.println();
String path=filelist[i].toString();

ReadFileThread rft=new ReadFileThread(143,username,path);
rft.start();
}

我做的是一个利用多线程同时读取一个目录下的单个文件(一个线程读一个文件)用下面这样一个for循环就能自动创建多个线程吗?
我测试了下可以读的,就是不知道是一个线和还是多个线和同时读的
...全文
175 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
jsx1987 2008-10-10
  • 打赏
  • 举报
回复
public void run(){
flag=false;
ReadFile rf=new ReadFile(username,filepath);
flag=rf.readFileThread();
if(flag){
this.interrupt();
System.out.println("到");
System.out.println(this.isAlive());
}
}
怎么让flag==true的时候结束该进程呢?很多方法都不行包括上面的interrupt()
xuhua205 2008-10-10
  • 打赏
  • 举报
回复
public Test implements Runnable {

public static void main(String[] args){
new Thread(new Runnable(){
public void run() { // 读文件的操作}
}).start();
new Thread(new Runnable(){
public void run() { // 读文件的操作}
}).start();
}

}
就可以了,要同步的话,可以对读文件的方法加锁,即synchronized 结合wait(), notify()实现

67,515

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧