1.volatile關鍵字
修飾的變數不會快取在暫存器或者快取在對其他處理器隱藏的地方。
因此某執行緒在讀取volatile變數時總會讀取到其他執行緒寫入的新值。不代表多執行緒安全,如果其他執行緒正修改這個變數還沒寫入
完成這個執行緒讀取時仍然讀取的是舊值。
2. 發布publishing \ 逸出escape
發布:乙個物件被當前範圍之外的**使用。
逸出:乙個物件尚未準備好就被發布出去。
內部類物件隱含包含了外部類物件的引用。 可以用 外部類.this 來獲得外部類物件的引用。
當在主類的構造方法中建立乙個執行緒並執行可能導致逸出,因為主類可能還沒有構造完成不是穩定的,加上jvm的**優化**重排序,因此構造方法內不要執行執行緒。
一些執行緒相關的函式
object類自帶函式synchronized obj 用wait 寫出生產者和消費者模式的乙個小例子 生產者執行緒 synchronized queue catch exception e 沒滿,生成元素放入佇列 queue.add element queue.notifyall 喚醒所有其他正在...
java多執行緒一些相關概念
同步和非同步 同步方法呼叫開始後,需等到本次呼叫有結果才繼續往後執行 非同步呼叫發生後,呼叫者無需等待返回,繼續後續執行。舉個例子你出去打籃球先到樓下小賣部買瓶水,老闆店裡現在沒貨,要去別的地方取,這個時候你要是等老闆取到水給你你再去打籃球那這就是同步呼叫,而要是你跟老闆約定水到了以後給你送到籃球場...
記錄一下bmp一些相關資訊
16色實際是4位色.256色即8位位圖。如果影象是單色 16色和256色 8位位圖 則緊跟著調色盤的是點陣圖資料,位圖資料是指向調色盤的索引序號。如果點陣圖是16位 24位和32位色,則影象檔案中不保留調色盤,即不存在調色盤,影象的顏色直接在位圖資料中給出。16位影象使用2位元組儲存顏色值,常見有兩...