亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

java多線程實現(xiàn)同步鎖賣票實戰(zhàn)項目

 更新時間:2023年01月28日 11:25:43   作者:023的小陳  
本文主要介紹了java多線程實現(xiàn)同步鎖賣票實戰(zhàn)項目,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧

同步概念與方法:

窗口類:

public class Ticket implements Runnable{
    int tickets=20;//總共20張票
    @Override
    public  void run() {
        while (tickets>0) {
            synchronized (this) {
                if(tickets>0) {
                    //售票
                    try {
                        System.out.println(Thread.currentThread().getName()+"正在售票");
                        Thread.sleep(200);//模擬售票操作時間
                        tickets--;//完成售票
                        System.out.println(Thread.currentThread().getName()+"售票完成,"+"剩余"+tickets+"張票");
                    } catch (InterruptedException e) {
                        e.printStackTrace();
                    }
                }
            }
        }
    }
}

測試類:

public class Test {
    public static void main(String[] args) {
        Ticket ticket = new Ticket();
 
        //模擬三個窗口售票
        Thread t1=new Thread(ticket);
        t1.setName("窗口1");
        t1.start();
 
        Thread t2=new Thread(ticket);
        t2.setName("窗口2");
        t2.start();
 
        Thread t3=new Thread(ticket);
        t3.setName("窗口3");
        t3.start();
    }
}

測試結果:

窗口1正在售票
窗口1售票完成,剩余19張票
窗口1正在售票
窗口1售票完成,剩余18張票
窗口1正在售票
窗口1售票完成,剩余17張票
窗口3正在售票
窗口3售票完成,剩余16張票
窗口2正在售票
窗口2售票完成,剩余15張票
窗口2正在售票
窗口2售票完成,剩余14張票
窗口2正在售票
窗口2售票完成,剩余13張票
窗口2正在售票
窗口2售票完成,剩余12張票
窗口2正在售票
窗口2售票完成,剩余11張票
窗口2正在售票
窗口2售票完成,剩余10張票
窗口2正在售票
窗口2售票完成,剩余9張票
窗口2正在售票
窗口2售票完成,剩余8張票
窗口2正在售票
窗口2售票完成,剩余7張票
窗口2正在售票
窗口2售票完成,剩余6張票
窗口2正在售票
窗口2售票完成,剩余5張票
窗口2正在售票
窗口2售票完成,剩余4張票
窗口2正在售票
窗口2售票完成,剩余3張票
窗口2正在售票
窗口2售票完成,剩余2張票
窗口2正在售票
窗口2售票完成,剩余1張票
窗口2正在售票
窗口2售票完成,剩余0張票

Process finished with exit code 0

不加同步鎖測試結果:

窗口3正在售票
窗口1正在售票
窗口2正在售票
窗口1售票完成,剩余18張票
窗口1正在售票
窗口2售票完成,剩余19張票
窗口3售票完成,剩余19張票
窗口2正在售票
窗口3正在售票
窗口2售票完成,剩余16張票
窗口2正在售票
窗口1售票完成,剩余15張票
窗口3售票完成,剩余16張票
窗口1正在售票
窗口3正在售票
窗口3售票完成,剩余13張票
窗口1售票完成,剩余14張票
窗口1正在售票
窗口2售票完成,剩余12張票
窗口2正在售票
窗口3正在售票
窗口2售票完成,剩余10張票
窗口1售票完成,剩余11張票
窗口1正在售票
窗口3售票完成,剩余11張票
窗口2正在售票
窗口3正在售票
窗口2售票完成,剩余8張票
窗口1售票完成,剩余8張票
窗口3售票完成,剩余8張票
窗口1正在售票
窗口2正在售票
窗口3正在售票
窗口2售票完成,剩余5張票
窗口1售票完成,剩余5張票
窗口3售票完成,剩余7張票
窗口1正在售票
窗口2正在售票
窗口3正在售票
窗口2售票完成,剩余2張票
窗口1售票完成,剩余3張票
窗口3售票完成,剩余2張票
窗口1正在售票
窗口2正在售票
窗口3正在售票
窗口3售票完成,剩余1張票
窗口2售票完成,剩余0張票
窗口1售票完成,剩余1張票

Process finished with exit code 0

synchronized與Lock鎖的區(qū)別:

Java synchronized與Lock

到此這篇關于java多線程實現(xiàn)同步鎖賣票實戰(zhàn)項目的文章就介紹到這了,更多相關java 同步鎖賣票內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • Springboot快速入門教程

    Springboot快速入門教程

    今天給大家?guī)淼氖顷P于Springboot基礎的相關知識,文章圍繞著Springboot的基礎知識及用法展開,文中有非常詳細的介紹及代碼示例,需要的朋友可以參考下
    2021-06-06
  • Maven入門之使用Nexus搭建Maven私服及上傳下載jar包

    Maven入門之使用Nexus搭建Maven私服及上傳下載jar包

    這篇文章主要介紹了Maven入門之使用Nexus搭建Maven私服及上傳下載jar包,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-12-12
  • SpringBoot整合阿里云視頻點播的過程詳解

    SpringBoot整合阿里云視頻點播的過程詳解

    視頻點播(ApsaraVideo for VoD)是集音視頻采集、編輯、上傳、自動化轉(zhuǎn)碼處理、媒體資源管理、分發(fā)加速于一體的一站式音視頻點播解決方案。這篇文章主要介紹了SpringBoot整合阿里云視頻點播的詳細過程,需要的朋友可以參考下
    2021-12-12
  • java中for和forEach的速度比較實例Demo

    java中for和forEach的速度比較實例Demo

    for循環(huán)中的循環(huán)條件中的變量只求一次值,而foreach語句是java5新增,在遍歷數(shù)組、集合的時候,foreach擁有不錯的性能,這篇文章主要給大家介紹了關于java中for和forEach速度比較的相關資料,需要的朋友可以參考下
    2021-08-08
  • 詳解Mybatis中的 ${} 和 #{}區(qū)別與用法

    詳解Mybatis中的 ${} 和 #{}區(qū)別與用法

    這篇文章主要介紹了Mybatis中的 ${} 和 #{}區(qū)別與用法,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-07-07
  • IDEA遇到Internal error. Please refer to http://jb. gg/ide/critical-startup-errors的問題及解決辦法

    IDEA遇到Internal error. Please refer to http://jb. gg/ide/crit

    這篇文章主要介紹了IDEA遇到Internal error. Please refer to http://jb. gg/ide/critical-startup-errors的問題及解決辦法,本文通過圖文并茂的形式給大家介紹的非常詳細,需要的朋友可以參考下
    2020-08-08
  • java編程題之從上往下打印出二叉樹

    java編程題之從上往下打印出二叉樹

    這篇文章主要為大家詳細介紹了java編程題之從上往下打印出二叉樹,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2019-03-03
  • JDK12的新特性之teeing collectors

    JDK12的新特性之teeing collectors

    這篇文章主要介紹了JDK12的新特性之teeing collectors的相關資料,本文通過實例代碼給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-05-05
  • 學生視角手把手帶你寫Java?線程池初版

    學生視角手把手帶你寫Java?線程池初版

    作者是一個來自河源的大三在校生,以下筆記都是作者自學之路的一些淺薄經(jīng)驗,如有錯誤請指正,將來會不斷的完善筆記,幫助更多的Java愛好者入門
    2022-03-03
  • 關于Springboot | @RequestBody 接收到的參數(shù)對象屬性為空的問題

    關于Springboot | @RequestBody 接收到的參數(shù)對象屬性為空的問題

    這篇文章主要介紹了關于Springboot | @RequestBody 接收到的參數(shù)對象屬性為空的問題,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2021-03-03

最新評論