Java多線程模擬電影售票過程
用多線程模擬電影售票過程(Java實訓),供大家參考,具體內(nèi)容如下
實訓目的:
多線程的實現(xiàn)、線程同步
實訓要求:
總票數(shù)和售票窗口數(shù)由鍵盤輸入,用每個線程處理一個窗口的售票。

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)容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
java讀取文件:char的ASCII碼值=65279,顯示是一個空字符的解決
這篇文章主要介紹了java讀取文件:char的ASCII碼值=65279,顯示是一個空字符的解決,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-08-08
Mybatis SqlSessionFactory與SqlSession詳細講解
SqlSessionFactory是MyBatis的核心類之一,其最重要的功能就是提供創(chuàng)建MyBatis的核心接口SqlSession,所以我們需要先創(chuàng)建SqlSessionFactory,為此我們需要提供配置文件和相關(guān)的參數(shù)2022-11-11
Java中基于DeferredResult的異步服務(wù)詳解
這篇文章主要介紹了Java中基于DeferredResult的異步服務(wù)詳解,DeferredResult字面意思是"延遲結(jié)果",它允許Spring MVC收到請求后,立即釋放(歸還)容器線程,以便容器可以接收更多的外部請求,提升吞吐量,需要的朋友可以參考下2023-12-12
SpringBoot整合騰訊云COS對象存儲實現(xiàn)文件上傳的示例代碼
本文主要介紹了SpringBoot整合騰訊云COS對象存儲實現(xiàn)文件上傳的示例代碼,文中通過示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下2021-12-12
Mybatis-Plus中Mapper的接口文件與xml文件相關(guān)的坑記錄
這篇文章主要介紹了Mybatis-Plus中Mapper的接口文件與xml文件相關(guān)的坑記錄,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2024-01-01
基于Java SSM實現(xiàn)在線點餐系統(tǒng)
本項目基于Java SSM框架實現(xiàn)在線點餐系統(tǒng),主要實現(xiàn)系統(tǒng)的在線點餐功能。文中的示例代碼講解詳細,感興趣的可以跟隨小編一起學習一下2022-02-02

