class MyThread extends Thread{
private int count = 50;
synchronized public void run(){
count --;
System.out.println(Thread.currentThread().getName() + ":.." + count);
}
}
用synchronized修飾的函數(shù)體即是一個同步代碼塊首尼,可以限制不同線程對count參數(shù)的讀寫揭芍。
實例鎖和全局鎖
synchronized
是實例鎖(鎖在某一個實例對象上,如果該類是單例控淡,那么該鎖也具有全局鎖的概念)
static synchronized
是全局鎖(該鎖針對的是類饭聚,無論實例多少個對象忌警,那么線程都共享該鎖)。