本人刚入手多线程,很多不会,望大神帮忙
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");
}
}
}