?? ex_11_3_2.java
字號(hào):
/*
*文件名:ex_11_3_2.java
*說 明:對(duì)象鎖定
*/
public class ex_11_3_2 implements Runnable
{
//x是共享的變量
public int x;
public static void main(String[] args)
{
ex_21_5 test = new ex_21_5();
//用一個(gè)BadSharing類的實(shí)例來創(chuàng)建兩個(gè)線程
Thread t1 = new Thread(test);
Thread t2 = new Thread(test);
//將這兩個(gè)線程由新建狀態(tài)變成可運(yùn)行狀態(tài)
t1.start();
t2.start();
}
//線程的執(zhí)行代碼
public void run()
{
//臨時(shí)變量temp可以看作是寄存器
int temp;
while(true)
{
//使用synchronized關(guān)鍵字加鎖
synchronized(this)
{
temp = x+1;
//睡眠線程以使另一個(gè)線程可以運(yùn)行。
try
{
Thread.sleep(1000);
}
catch(InterruptedException e)
{
}
x = temp;
//打印出當(dāng)前線程中的x的值
System.out.println("線程"+Thread.currentThread().getName()+"中的x值為"+x);
}
}
}
}
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號(hào)
Ctrl + =
減小字號(hào)
Ctrl + -