java并發(fā)編程實戰(zhàn) pdf java如何處理并發(fā)問題?
java如何處理并發(fā)問題?在web應(yīng)用程序中,大量的客戶端請求會同時發(fā)送到服務(wù)器,如搶購、秒殺等。如何避免同時向業(yè)務(wù)系統(tǒng)發(fā)送大量請求。第一種方法:配置容器中的最大請求數(shù)。如果大于請求數(shù),客戶端將阻止。
java如何處理并發(fā)問題?
在web應(yīng)用程序中,大量的客戶端請求會同時發(fā)送到服務(wù)器,如搶購、秒殺等。如何避免同時向業(yè)務(wù)系統(tǒng)發(fā)送大量請求。
第一種方法:配置容器中的最大請求數(shù)。如果大于請求數(shù),客戶端將阻止。該方法有效地防止了大量請求同時訪問業(yè)務(wù)系統(tǒng),但對用戶不友好。
第二種方法:使用過濾器確保一定數(shù)量的請求可以正常訪問系統(tǒng),冗余請求首先跳轉(zhuǎn)到隊列頁面,隊列頁面定期發(fā)起請求。篩選器的實現(xiàn)如下:
<pre name=“code”class=“Java”>
public class servicefilter implements filter{
private static final int maxuucount=20
private int filterCount=0
public void doFilter(ServletRequest request,ServletResponse response,F(xiàn)ilterChain chain)拋出IOException,ServletException{系統(tǒng)輸出打?。ā癰efore”filterCount)
如果(filterCount> MAXCount){
//請求太多,請?zhí)D(zhuǎn)到隊列頁請求.getRequestDispatcher(" 索引.jsp"). 轉(zhuǎn)發(fā)(請求,響應(yīng))
}]else{
//請求數(shù)加1
filtercount鏈.doFilter(請求,響應(yīng))
//訪問結(jié)束時,請求數(shù)減去1 filtercount--}
}
]百度搜索圈t社區(qū)(www.aiquanti.com)免費視頻教程