当前位置: 代码迷 >> Java相关 >> 多线程,大神进
  详细解决方案

多线程,大神进

热度:70   发布时间:2016-04-22 19:30:49.0
多线程求助,大神进
本人刚入手多线程,很多不会,望大神帮忙

public class TestThread {

/**
 * @param args
 */
public static void main(String[] args) {
final List list = new ArrayList<Object>();
Thread1 thread1 = new Thread1();
thread1.start();
Thread2 thread2 = new Thread2();
thread2.start();
           //这里想打印出list,即111,222
}

}
class Thread1 extends Thread {
public void run(){
//我想在这里给list.add("111");
}
}
class Thread2 extends Thread {
public void run(){
//我想在这里给list.add("222");
}
}

------解决思路----------------------

package tomcat.p6.test;

import java.util.ArrayList;
import java.util.List;

public class TestThread {

/**
 * @param args
 * @throws InterruptedException 
 */
public static void main(String[] args) throws InterruptedException {
final List list = new ArrayList<Object>();
Thread1 thread1 = new Thread1(list);
thread1.start();
thread1.join();
Thread2 thread2 = new Thread2(list);
thread2.start();
thread2.join();
for (Object obj : list) {
System.out.println(obj); 
}
}

}
class Thread1 extends Thread {
private List list ;
public Thread1(List list) {
this.list = list ;
}
public void run(){
synchronized (list) {
list.add("111");
}
}
}
class Thread2 extends Thread {

private List list ;
public Thread2(List list) {
this.list = list ;
}

public void run(){
synchronized (list) {
list.add("222");
}
}
}
  相关解决方案