import java.util.ArrayList;
public class ThreadsTest {
private ArrayList messages = new ArrayList();
public synchronized void put(int i){
messages.add(i);
System.out.println("in put. messages = " + messages.toString());
}
public synchronized void remove(){
if(messages.size() > 0){
messages.remove(0);
}
System.out.println("in remove. messages = " + messages.toString());
}
/**
* @param args
*/
public static void main(String[] args) {
final ThreadsTest threadsTest = new ThreadsTest();
for(int i=0;i<3;i++){
new Thread(new Runnable(){
@Override
public void run() {
for(int i=0;i<30;i++){
threadsTest.put(i);
}
}
}).start();
}
for(int i=0;i<3;i++){
new Thread(new Runnable(){
@Override
public void run() {
for(int i=0;i<30;i++){
threadsTest.remove();
}
}
}).start();
}
}
}
java 多线程小例子2
最新推荐文章于 2023-01-30 17:27:38 发布