看板java
标 题Thread 一问
发信站无名小站 (Wed May 30 19:37:50 2007)
转信站ptt!ctu-reader!ctu-peer!news.nctu!netnews.csie.nctu!wretch
想请问一下,为何下面的程式码输出会有ABCAABCABC
(new 三个Thread执行三次printAll,怎会有4个A?)
=======
import java.util.*;
public class NameList {
private List names = new ArrayList();
public synchronized void add(String name){
names.add(name);
}
public synchronized void printAll(){
for(int i=0; i<names.size();i++)
{
System.out.print(names.get(i) + " ");
}
}
public static void main(String[] args)
{
final NameList s1 = new NameList();
for(int i = 0;i<2;i++) {
new Thread() {
public void run()
{
s1.add("A");
s1.add("B");
s1.add("C");
s1.printAll();
}
}.start();
}
}
}
--
愿要大
志要坚
气要柔
心要细
--
夫兵者不祥之器物或恶之故有道者不处君子居则贵左用兵则贵右兵者不祥之器非君子
之器不得已而用之恬淡为上胜而不美而美之者是乐杀人夫乐杀人者则不可得志於天下
矣吉事尚左凶事尚右偏将军居左上将军居右言以丧礼处之杀人之众以哀悲泣之战胜以
丧礼处之道常无名朴虽小天下莫能臣侯王若能守之万物将自宾天地相合以降甘露民莫
之令而自均始制有名名亦既有夫亦将知止知止可以不u901540.HUA.ab.nthu.edu.tw海