Thread 一問

看板java作者時間18年前 (2007/05/30 20:01), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串1/2 (看更多)
想請問一下,為何下面的程式碼輸出會有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
文章代碼(AID): #16NMU000 (java)
討論串 (同標題文章)
文章代碼(AID): #16NMU000 (java)