有三个线程,共享某个数据list,在run方法中遍历list, 当线程满足某个条件时(如执行N次任务后)想终止此线程其他线程继续运行,
请问大虾们怎么做,我做的老是报错
请问大虾们怎么做,我做的老是报错
解决方案 »
- EJB 客户端连接问题
- java.math.BigInteger cannot be cast to java.lang.Integer 错误???
- hibernate验证器在哪个包里,注解版的
- 使用myeclipse时出现的error
- struts 1x的所有jar包作用
- struts+spring+hibernate做单表查询问题,急!
- tomcat5.0.28连接mysql数据源出错。
- 小弟刚学习JAVA请问一下怎样把一个二维数组里面的值给清空呢??在线急等,请各位帮忙
- 谁有websphere5.0企业版 for linux的安装盘?请与13316012898联系!酬谢!急!!!
- 哪个ejb容器对资源的要求比较低,且能集成到jb9中??
- Spring related
- struts2中的radio标签如何按照规定的样式排列?
class Th extends Thread{
private static List l = new ArrayList();
static{
l.add("1");
l.add("2");
l.add("3");
l.add("4");
} public void run() {
for(int i=0;i<l.size();i++){
if("4".equals(l.get(i)))//当输出到4的时候任务停止
break;
System.out.println(getName()+"输出"+l.get(i));
}
}}public class T{
public static void main(String[] args){
Thread t1 = new Th();
Thread t2 = new Th();
Thread t3 = new Th();
Thread t4 = new Th();
t1.start();
t2.start();
t3.start();
t4.start();
}
}
现在有2个线程分别读他们,一个只能读1000,1001,另一个读1001,1002,最后每个线程读的数字要记录下来,而且尽量让他们读数字的次数相等.LS的可能我意思没说清楚
也可以用wait()方法让其他线程等着
一个线程执行完了。用notify()唤醒其他线程
不过唤醒的话就不能一个一个唤醒了。。一下子都全部唤醒。。
我说的不知道对不对。。?
期待其他达人的高见。。
import java.util.List;
public class Test { public static void main(String[] args) {
List<Integer> lst = new ArrayList<Integer>();
for (int i = 0; i < 10; i++) {
lst.add(1001);
lst.add(1002);
lst.add(1003);
}
TestThread a = new TestThread(lst);
TestThread b = new TestThread(lst);
TestThread c = new TestThread(lst);
a.start();
b.start();
c.start();
}}class TestThread extends Thread {
List<Integer> lst;
List<Integer> alst = new ArrayList<Integer>();
int n;
TestThread(List<Integer> lst){
this.lst = lst;
}
public void run(){
while(n<4){
for (Integer a : lst) {
System.out.println(a+"-"+this.getName()+"-"+n);
}
n++;
}
}
}