05 servlet 多線程問(wèn)題

一個(gè)網(wǎng)站,多個(gè)客戶端來(lái)訪問(wèn),這就是產(chǎn)生了多線程效果;

public class ThreadDemo extends HttpServlet {
    private static final long serialVersionUID = 1L;
       
    int count =0;
    public ThreadDemo() {
        super();
    }

    
    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        response.setContentType("text/html;charset=utf-8");
        
        //加上延遲來(lái)模擬出錯(cuò)情況
//      try {
//          Thread.sleep(500);
//      } catch (InterruptedException e) {
//          e.printStackTrace();
//      }
        
        //加上同步鎖
        synchronized (ThreadDemo.class) {
            response.getWriter().write("你是第"+count+"個(gè)訪問(wèn)該站點(diǎn)");
            count++;
        }
        
    }

}
Paste_Image.png

開(kāi)發(fā)線程安全的servlet建議:

  1. 盡量不要使用成員變量,或者靜態(tài)成員變量。
  2. 必須要使用成員變量,要么給使用了成員變量的代碼塊加同步鎖,加鎖的代碼塊的范圍盡量縮小,因?yàn)橛锌赡苡绊懗绦虿l(fā)效率。
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 從三月份找實(shí)習(xí)到現(xiàn)在,面了一些公司,掛了不少,但最終還是拿到小米、百度、阿里、京東、新浪、CVTE、樂(lè)視家的研發(fā)崗...
    時(shí)芥藍(lán)閱讀 42,787評(píng)論 11 349
  • Servlet如何處理多個(gè)請(qǐng)求訪問(wèn)?Servlet容器默認(rèn)是采用單實(shí)例多線程的方式處理多個(gè)請(qǐng)求的:1.當(dāng)web服務(wù)...
    屎倒淋頭還嚼便閱讀 2,020評(píng)論 1 0
  • 1. Java基礎(chǔ)部分 基礎(chǔ)部分的順序:基本語(yǔ)法,類相關(guān)的語(yǔ)法,內(nèi)部類的語(yǔ)法,繼承相關(guān)的語(yǔ)法,異常的語(yǔ)法,線程的語(yǔ)...
    子非魚(yú)_t_閱讀 34,638評(píng)論 18 399
  • 【過(guò)火】,阿哲的成名作品,也是我KTV里最常點(diǎn)唱的一首,從知道曲調(diào)好聽(tīng)再到理解歌詞大意,而現(xiàn)在聽(tīng)它時(shí)卻有種默默的共...
    還是那只為別人的青魚(yú)閱讀 444評(píng)論 0 0
  • 公司財(cái)年馬上就要到了,部門經(jīng)費(fèi)還剩一部分,因此今晚大家一起去大吃了一頓?;貋?lái)后,一直忙著收拾,也沒(méi)有刷朋友圈。等躺...
    是秋醬啊閱讀 451評(píng)論 0 2

友情鏈接更多精彩內(nèi)容