




版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
并發(fā)概念
?進程與線程
?線程安全
?臨界資源
?競爭
?鎖
?可見性
?原子性
?什么時候使用多線程
?無處不在的線程
什么時候使用多線程
線程安全
.專多個俵彩⑥娟楊向一個莢時,治果
■彳用老虎這些名怒的調(diào)度"文藥外功,
苦虹調(diào)用方代恁彳需恁額外的協(xié)調(diào),
恒個手的行為仍受立錦的,那小這個
英就受旗彩名全的。
臨界資源與競爭
原子性
0
無處不在的線程
即使你們沒有創(chuàng)建過任何線程,
也不能說線程和你無關
Servlet
Struts1的Action
0%
創(chuàng)建線程對象
newThread(){
?Override
publicvoidrun(){
)
};
newThread(newRunnable(){
publicvoidrun(){
)
});
線程啟停
啟動:
thread.start();
wait
join
sleep
停止1:停止2:InterruptibleChannel
thread.stop();thread.interrupt();
停止3:
while(lstop){
)
,n
0
stop=true;
等待線程結束
thread.join();
or
thread.join(IOOO);
FutureTask<lnteger>task=newFutureTask<lnteger>(newCallable<lnteger>(){
publicIntegercall()throwsException{
returnnull;
)
});
newThread(task).start();
Integerresult=task.get();
?顯式鎖
Locklock=newReentrantLock();lock.tryLock();
lock.lock();
try{lock.locklnterruptiblyO;
}finally{
lock.unlock();
}
讀寫鎖
ReadWriteLocklock=newReentrantReadWriteLock();
Lockr=lock.readLock();
Lockw=lock.writeLock();
信號量
Semaphoresema=newSemaphore(3);
sema.acquire();
sema.releaseO;
等待和通知
Listlist;
thread1:
synchronized(list){
if(list.isEmpty()){
list.wait();
)
}
Thread2:
synchronized(list){
list.add(a);
list.notify();
}
0
等待和通知Condition
Locklock=newReentrantLock();
Conditionconditionl=lock.newCondition();
Conditioncondition2=lock.newCondition();
condition1.await();
condition1.signal();
0
可見性
?volatilebooleanstop
原子變量
?Atomiclnteger>AtomicBoolean>
AtomicReference
compareAndSet
decrementAndGet
集合類
?線程安全
Vector(ConcurrentModificationException
)Hashtable(
ConcurrentModificationException)
線程不安全
LinkedListArrayListHashMap
*,0
0%
并發(fā)集合類
?BlockingQueue
take()
?ConcurrentMap
putlfAbsentreplace(Kkey,VoldValue,VnewValue)
?ConcurrentLinkedQueue
非阻塞線程安全隊列
?CopyOnWriteArrayList
多遍歷,少插入
??n
0%
線程池
?Executors.newCachedThreadPool
Executors.newFixedThreadPool
?Executors.newSingleThreadExecutor
?Executors.newScheduledThreadPool
?ThreadPoolExecutor
ScheduledThreadPoolExecutor
??r>
0%
多線程系統(tǒng)設計
-線程安全設計
?高性能線程設計
線程安全設計
?識別臨界資源
?線程安全設計
識別臨界資源
?JAVA語言內(nèi)的臨界資源
static的變量
類的成員變量
?即:一個類沒有成員變量,也沒有訪問別的static的變量
,并且其函數(shù)的參數(shù)是線程安全的,那么這個類一定是線
程安全的。
線程安全設計
?不可變的類一定是線程安全的。
?控制變量的可見區(qū)域
控制使用在一個方法里
使用threadlocal方法
?最后考慮使用鎖
*,0
0%
線程性能設計
?amdahl定律
?高性能設計方法
amdahl定律
0
提高并行度
影響并行度的因素
鎖、同步
設計因素
盡量無鎖并發(fā)
?合理設計,限定對象的作用范圍
?盡量不要再搞所謂的對象池
structsl——>structs2
*,0
0%
合理的使用鎖
Lor
?只鎖必要的,減小鎖的范圍
?快進快出,不要鎖10等慢的操作,如屬競
爭資源,變更設計
-分離鎖,加大鎖的數(shù)量,每個鎖控制一部
分資源。
?鎖不止影響并行度
加大java額外操作
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年度跨境電商勞動用工合作協(xié)議
- 二零二五年度個人向新能源車充電樁運營商借款的合同
- 二零二五年度鋼結構工程進度管理合同匯編
- 2025年度民宿民宿民宿與旅游住宿業(yè)人才培養(yǎng)合作合同協(xié)議
- 二零二五年度房屋院落租賃與特色農(nóng)產(chǎn)品銷售合同
- 二零二五年度礦泉水品牌電商運營合作合同
- 二零二五年度酒店客房預訂及會議場地租賃協(xié)議
- 2025年中國環(huán)丙沙星可溶性粉劑市場調(diào)查研究報告
- 衣柜安裝協(xié)議合同范本
- 二零二五年度辣椒產(chǎn)業(yè)科技創(chuàng)新與人才培養(yǎng)合作協(xié)議
- 廣東義務教育標準化學校
- 煤質(zhì)化驗員測試題(附參考答案)
- 全電發(fā)票樣式
- (完整版)供應商審核表
- 饅頭工藝流程圖
- (二次供水單位)生活飲用水衛(wèi)生許可證延續(xù)申請表
- 鈉電池正極材料PPT
- 體能訓練概論(NSCA)
- 青島版三年級數(shù)學下冊《美麗的街景》教學課件7
- 液壓傳動全套ppt課件(完整版)
- 內(nèi)部控制五要素圖解
評論
0/150
提交評論