synchronized 隱士鎖(內建鎖)(鎖定 解鎖 看不到)(被jdk封裝到內部裡面去 原理呼叫native層跟作業系統互動 完成…)
/**
* synchronized 隱士鎖(內建鎖)(鎖定 解鎖 看不到)(被jdk封裝到內部裡面去 原理呼叫native層跟作業系統互動 完成....)
*/public
class
gpsengine
return gpsengine;
}//如果多個執行緒 或者多個地方呼叫
//多執行緒執行的時候 需要非常注意 安全性問題
}
類鎖:/**
* synchronized 隱士鎖(內建鎖)(鎖定 解鎖 看不到)(被jdk封裝到內部裡面去 原理呼叫native層跟作業系統互動 完成....)
*/public
class
gpsengine
return gpsengine;
}//thread-0執行完畢
}
static synchronized (靜態+synchronized 所持有的鎖就是這個引擎gpsengine 的class)
靜態代表還沒new出來還沒有例項化之前就會通過class的方式載入
持有一把鎖 gpsengine.class物件鎖 ==類鎖
上述**效率太低,改進一下:
//雙重檢測 比較典型的單例
//雙重檢測 比較典型的單例
public
static gpsengine getgpsengine()
}}return gpsengine;
}
//多執行緒執行中,基本上有安全性問題
//加鎖
public
class
syntest
//執行緒
private
static
class
count
extends
thread
@override
public
void
run()}
}public
static
void
main
(string[
] args) throws interruptedexception
}
加上物件鎖:14760 //第一次結果
18538 //第二次結果
14289 //第三次結果
//累加函式
//synchronized == 物件鎖 持有一把鎖 syntest.this syntest的例項
public synchronized void
inccount()
20000
public
void
inccount2()
}
public
void
inccount2()
}
20000
可重入鎖 reentrantlock()//隨便持有一把鎖, 物件鎖 object物件
private object object =
newobject()
;private string str =
newstring()
;public
void
inccount3()
}
synchronized 天生也是可重入鎖
可重入鎖就是在遞迴的時候可反覆的拿鎖
reentrantlock()// synchronized 天生是可重入鎖
//如果synchronized不是可重入鎖,無法呼叫自己 遞迴第二次第n次無法拿到鎖 造成卡死狀態一樣
public synchronized void
add(
)
//syn 隱士的 內部會完成 鎖定 解鎖 等等 底層邏輯 我們改不了 看不到,只需要加乙個關鍵字
//lock 顯示鎖 我們程式設計師可以控制 鎖定 解鎖 等邏輯
public
class
lockdemo
public
void
incr2()
finally
}// synchronized 天生是可重入鎖
//如果synchronized不是可重入鎖,無法呼叫自己 遞迴第二次第n次無法拿到鎖 造成卡死狀態一樣
public synchronized void
add(
)public
static
void
main
(string[
] args)
}
python 程序理論知識
1.在看程序之前了解一下作業系統 1 作業系統的作用 a 隱藏醜陋複雜的硬體介面,提供良好的抽象介面 b 管理 排程程序,並且將多個程序對硬體的競爭變得有序 2 多道技術 a.產生背景 針對單核,實現併發 ps 現在的主機一般是多核,那麼每個核都會利用多道技術 有4個cpu,執行於cpu1的某個程式...
day 7 1 程序理論知識
一.程序的定義 程序 process 是計算機中的程式關於某資料集合上的一次執行活動,是系統進行資源分配和排程的基本單位,是作業系統 結構的基礎。在早期面向程序設計的計算機結構中,程序是程式的基本執行實體 在當代面向執行緒設計的計算機結構中,程序是執行緒的容器。程式是指令 資料及其組織形式的描述,程...
OLTP與OLAP的介紹(理論知識)
oltp與olap的介紹 資料處理大致可以分成兩大類 聯機事務處理oltp on line transaction processing 聯機分析處理olap on line analytical processing oltp是傳統的關係型資料庫的主要應用,主要是基本的 日常的事務處理,例如銀行交...