1 . 不要在run 方法上面新增synchronized
2 . 同步方法 鎖是 this 還要要求 鎖是 唯一的 , 同步方法要寫在資源類裡面
3 . 注意處理下面的run方法和saleticket()方法的關係
4 .
package com.qf.demo;
public
class
test3
}/**
* 同步方法
* *@author administrator
* */
class window2 implements runnable }}
// 同步方法 鎖是 this 還要要求 鎖是 唯一的 , 同步方法要寫在資源類裡面
public
synchronized
boolean
saleticket() catch (interruptedexception e)
system.out.println(thread.currentthread().getname() + "賣了1張票,還剩" + ticket);
return
true;
} else
}}
同步靜態方法與同步非靜態方法
可參考 同步方法 1 同步靜態方法 某個類object中的某個靜態方法staticmethod加上同步鎖之後,當某個執行緒thread呼叫staticmethod時該執行緒會獲取object類的鎖 當前object的鎖沒被其它執行緒獲取時,若當前object鎖被其它鎖獲取則會進行等待。此時其他任何執...
方法 靜態 非靜態
方法add1 add2和multiply add1 multiply都是靜態的方法,所以可以不通過建立物件而只用 類名.方法 名呼叫即可 方法add1和main方法同在乙個類program中,因此省略 方法名.非靜態方法add2只能通過例項化的方法來呼叫 否則會報13行的錯誤。using syste...
同步靜態方法
1 鎖 是資源類物件,同步方法,方法要寫在資源類中 2 資源類如果是單寫的,沒有實現runnable介面.同步方法要寫在資源類中,鎖要求唯一,靜態的同步方法,使用的鎖是card2.class 3 解釋類.class jvm 再去使用指定類 給每乙個類建立乙個 唯一的class 物件,也就是說每個類有...