終止在學習Java併發我就遇到了這個行爲,我無法解釋:的Java多線程的線程隨機
public class ThreadInterferrence implements Runnable {
public static void main(String[] args) throws InterruptedException {
Thread t = new Thread(new ThreadInterferrence());
t.start();
append("1", 50);
t.join();
System.out.println(value);
}
private static String value = "";
public void run() {
append("2", 50);
}
private static void append(String what, int times) {
for (int i = 0; i < times; ++i) {
value = value + what;
}
}
}
程序爲何生成隨機字符串?更重要的是爲什麼輸出長度不一?它不應該總是100個字符嗎?
輸出的例子:
22222222222222222222222222222222222222222222222222
1111111111111111111111111111112121112211221111122222222222222
等。
好吧,我跟着你到目前爲止。但是爲什麼輸出字符串的長度會變化?無論順序如何,它不應該總是100個字符嗎? – 2015-02-08 14:51:33