Java多線程模擬電影售票過程
用多線程模擬電影售票過程(Java實(shí)訓(xùn)),供大家參考,具體內(nèi)容如下
實(shí)訓(xùn)目的:
多線程的實(shí)現(xiàn)、線程同步
實(shí)訓(xùn)要求:
總票數(shù)和售票窗口數(shù)由鍵盤輸入,用每個(gè)線程處理一個(gè)窗口的售票。
Test.java
package program5; import java.util.Scanner; public class Test { public static void main(String[] args) { // TODO Auto-generated method stub Scanner sc=new Scanner(System.in); int ticks,windows; System.out.println("請輸入總票數(shù):"); ticks=sc.nextInt(); System.out.println("請輸入售票窗口數(shù):"); windows=sc.nextInt(); tickets lockThread=new tickets(); lockThread.setTickets(ticks); for(int i=1;i<=windows;i++) new Thread(lockThread,"窗口"+i).start(); } }
tickes.java
package program5; import java.util.concurrent.locks.*; public class tickets implements Runnable { private int tickets; public int getTickets() { return tickets; } public void setTickets(int tickets) { this.tickets = tickets; } private final Lock lock=new ReentrantLock(); @Override public void run() { // TODO Auto-generated method stub while(true) { lock.lock(); if(tickets>0) { try { Thread.sleep(100); System.out.println(Thread.currentThread().getName() +"正在發(fā)售第"+tickets--+"張票"); }catch(InterruptedException e) { e.printStackTrace(); }finally { lock.unlock(); } } else { System.exit(0); } } } }
結(jié)果顯示:
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
java讀取文件:char的ASCII碼值=65279,顯示是一個(gè)空字符的解決
這篇文章主要介紹了java讀取文件:char的ASCII碼值=65279,顯示是一個(gè)空字符的解決,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-08-08Mybatis SqlSessionFactory與SqlSession詳細(xì)講解
SqlSessionFactory是MyBatis的核心類之一,其最重要的功能就是提供創(chuàng)建MyBatis的核心接口SqlSession,所以我們需要先創(chuàng)建SqlSessionFactory,為此我們需要提供配置文件和相關(guān)的參數(shù)2022-11-11Java中基于DeferredResult的異步服務(wù)詳解
這篇文章主要介紹了Java中基于DeferredResult的異步服務(wù)詳解,DeferredResult字面意思是"延遲結(jié)果",它允許Spring MVC收到請求后,立即釋放(歸還)容器線程,以便容器可以接收更多的外部請求,提升吞吐量,需要的朋友可以參考下2023-12-12SpringBoot整合騰訊云COS對象存儲(chǔ)實(shí)現(xiàn)文件上傳的示例代碼
本文主要介紹了SpringBoot整合騰訊云COS對象存儲(chǔ)實(shí)現(xiàn)文件上傳的示例代碼,文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2021-12-12Mybatis-Plus中Mapper的接口文件與xml文件相關(guān)的坑記錄
這篇文章主要介紹了Mybatis-Plus中Mapper的接口文件與xml文件相關(guān)的坑記錄,具有很好的參考價(jià)值,希望對大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2024-01-01基于Java SSM實(shí)現(xiàn)在線點(diǎn)餐系統(tǒng)
本項(xiàng)目基于Java SSM框架實(shí)現(xiàn)在線點(diǎn)餐系統(tǒng),主要實(shí)現(xiàn)系統(tǒng)的在線點(diǎn)餐功能。文中的示例代碼講解詳細(xì),感興趣的可以跟隨小編一起學(xué)習(xí)一下2022-02-02Java Calendar類使用總結(jié)及使用實(shí)例
這篇文章主要介紹了Java Calendar類使用總結(jié)及使用實(shí)例,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-03-03