top
Loading...
Java多線程及其同步實現原理
天極IT資訊短信服務 電腦小技巧
資費:包月5元
手機:
介紹:細處著手,巧處用功。高手和菜鳥之間的差別就是:高手什么都知道,菜鳥知道一些。電腦小技巧收集最新奇招高招,讓你輕松踏上高手之路。(首月免費)


一. 實現多線程

1. 虛假的多線程

例1:

public class TestThread
{
int i=0, j=0;
public void go(int flag)
{
while(true)
{
try{ Thread.sleep(100);
}
catch(InterruptedException e)
{
System.out.println("Interrupted");
}
if(flag==0) i++;
System.out.println("i=" + i);
}
else
{
j++;
System.out.println("j=" + j);
}
}
}
public static void main(String[] args)
{
new TestThread().go(0);
new TestThread().go(1);
}
}

上面程序的運行結果為:

i=1
i=2
i=3
。。。

結果將一直打印出I的值。我們的意圖是當在while循環中調用sleep()時,另一個線程就將起動,打印出j的值,但結果卻并不是這樣。關于sleep()為什么不會出現我們預想的結果,在下面將講到。

作者:http://www.zhujiangroad.com
來源:http://www.zhujiangroad.com
北斗有巢氏 有巢氏北斗