




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
這是系統(tǒng)重構(gòu)上線后經(jīng)歷的第次高并發(fā)考驗(yàn),如期出現(xiàn)了大量超警,不過比我預(yù)料的要好一點(diǎn),起碼沒有掛掉重啟。cs(上下文切換每秒次數(shù))指標(biāo)已經(jīng)60w5w。再通過日志分析,我發(fā)現(xiàn)waitException,由此初步懷疑是大量線程處理不及時導(dǎo)致的,進(jìn)步鎖定問題是連接池大小設(shè)置不合從實(shí)踐中總結(jié)經(jīng)驗(yàn),我知道了在并發(fā)程序中,并不是啟動更多的線程就能讓程序最大限度地并發(fā)執(zhí)行。線程數(shù)量設(shè)置太你看,其實(shí)很多經(jīng)驗(yàn)就是這么點(diǎn)點(diǎn)積累的。那么天,我就務(wù)。處理器給每個線程分配CPU時間片(TimeSlice),CPU時間片是CPU分配給每個線程執(zhí)行的時間段,一般為 續(xù)運(yùn)行的過程就叫做上下文切換(ContextSwitch)。 內(nèi)容以及程序計(jì)數(shù)器的指令內(nèi)容。CPU寄存器負(fù)責(zé)已經(jīng)、正在和將要執(zhí)行的任務(wù),程序計(jì)數(shù)器負(fù)責(zé)CPU正在執(zhí)行的指令位置以及即將執(zhí)行的下一條指令的位在當(dāng)前CPU數(shù)量遠(yuǎn)遠(yuǎn)不止一個的情況下,操作系統(tǒng)將CPU了,并且存在跨CPU上下文切換,比起單核上下文切換,開始之前,先看下Java線程的生命周期狀態(tài)。 個線程的狀態(tài)由RUNNING轉(zhuǎn)為BLOCKED,再由BLOCKEDRUNNABLERUNNING狀態(tài)轉(zhuǎn)為BLOCKED狀態(tài)時,我RUNNABLE狀態(tài)時能夠在之前執(zhí)行進(jìn)度的基礎(chǔ)上繼續(xù)執(zhí)當(dāng)個線程從BLOCKED狀態(tài)進(jìn)入到RUNNABLE狀態(tài)時,那么程運(yùn)行時,線程狀態(tài)由RUNNING轉(zhuǎn)為BLOCKEDBLOCKEDRUNNABLE,這又是什我們可以分兩種情況來分析,一種是程序本身觸發(fā)的切換,自發(fā)性上下文切換指線程由Java程序調(diào)用導(dǎo)致切出,在多線程編程中,執(zhí)行調(diào)用以下方法或關(guān)鍵字,常常就會自換”。在Java虛擬機(jī)中,對象的內(nèi)存都是由虛擬機(jī)中的堆制的使用有可能會導(dǎo)致stop-the-world的發(fā)生,這其1publicclassDemoApplication2staticvoidmain(String[]args)3//4MultiThreadTestertest1=new5//SerialTestertest2=new89}classMultiThreadTesterextendspublicvoidStart()longstart=MyRunnablemyRunnable1=newThread[]threads=new//for(inti=0;i<4;i++)threads[i]=new}for(inti=0;i<4;i++)try//}catch//TODOAuto-}}longend=System.out.println("multithreadSystem.out.println("counter:"+}//創(chuàng)建一個實(shí)現(xiàn)RunnableclassMyRunnableimplementsRunnablepublicvoidrun()while(counter synchronized(this) if(counter< }}}}}}//staticclassSerialTesterextendspublicvoidStart()longstart=for(longi=0;i<count;i++) longend= System.out.println("serialexec System.out.println("counter:"+ // class publicstaticfinalintcount publicvolatileintcounter= publicintgetCount() return publicvoidincreaseCounter() this.counter+= void 78 Synchronized引起了上下文切換,但即使不使用Synchronized鎖關(guān)鍵多線程同樣存在著上下文切換。Redis、NodeJS的設(shè)計(jì)就在Linux系統(tǒng)下,可以使用Linux內(nèi)核提供的vmstat命Javacs如下圖所示:pidstat令指定進(jìn)程的ContextSwitch上下文切換。由于Windows沒有像vmstat這樣的工具,在WindowsProcessExplorer,來查看程序執(zhí)行時,上下文切換就是一個工作的線程被另外一個線程暫停,另外一個線程占用了處理器開始執(zhí)行任務(wù)的過程。系統(tǒng)和Jaa程序自發(fā)性以及非自發(fā)性的調(diào)用操作,就會導(dǎo)致上下文切換,從而帶來系統(tǒng)開銷。下,我們可以使用單線程。例如,我們前面講到的Redis,從內(nèi)存中快速值,不用考慮I/O瓶頸帶來的阻塞問題。體性能。例如,NIO程中使用Synchronized 售賣。頁面已增加防盜追蹤,上一 14|多線程之鎖優(yōu)化(下):使用樂觀鎖優(yōu)化并行操言言前進(jìn)程。不知道理解的對不對?作者回復(fù):進(jìn)程上下文切換,是指用戶態(tài)和內(nèi)核態(tài)的來回切3作者回復(fù):進(jìn)程上下文切換,是指用戶態(tài)和內(nèi)核態(tài)的來回切2級,這是需要stoptheworld也會發(fā)生上下文切換22干貨滿滿1Synchronized在輕量級鎖之前,鎖資源競爭產(chǎn)生11bod了或者調(diào)用wat(),on放鎖資源,就會觸發(fā)進(jìn)程切換了。S這種樂觀鎖,不會LOKpa…作者回復(fù):CAS樂觀鎖只是一個原子操作,為CPU指令實(shí)作者回復(fù):文章是建議使用多線程處理。我理解你的意思應(yīng)1非自發(fā)場景中
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 兒童文學(xué)經(jīng)典作品選征文
- 變速器軸相關(guān)行業(yè)投資規(guī)劃報(bào)告范本
- 疾控中心預(yù)防艾滋病教育
- 多功能輕質(zhì)復(fù)合板相關(guān)行業(yè)投資方案
- 企業(yè)發(fā)展戰(zhàn)略規(guī)劃演講材料
- 三國演義的英勇故事解讀
- 有機(jī)磷酸酯類中毒解毒藥行業(yè)相關(guān)投資計(jì)劃提議范本
- 貨物運(yùn)輸合作協(xié)議合同
- 英語名詞性從句的種類與功能解析:大學(xué)基礎(chǔ)英語教學(xué)設(shè)計(jì)
- 機(jī)器人銷售合同
- 五金公司KPI績效考核全套
- DB12-595-2015醫(yī)院安全防范系統(tǒng)技術(shù)規(guī)范
- 五年級下冊英語課件-Unit 2 My favourite season B Let's learn 人教PEP版(共15張PPT)
- GB∕T 7260.40-2020 不間斷電源系統(tǒng) UPS 第4部分:環(huán)境 要求及報(bào)告
- 中學(xué)生心理健康診斷測驗(yàn)-MHT量表
- 高邊坡施工危險源辨識及分析
- 【李建西醫(yī)案鑒賞系列】三當(dāng)歸四逆湯治療頸腫案
- 安全文明施工管理(EHS)方案(24頁)
- 結(jié)構(gòu)化思維PPT通用課件
- 劉姥姥進(jìn)大觀園課本劇劇本3篇
- 產(chǎn)品承認(rèn)書客(精)
評論
0/150
提交評論