多執行緒賣火車票簡單例子
import java.util.concurrent.Callable;
import java.util.concurrent.Future;
import java.util.concurrent.FutureTask;
public class JavaTest {
public static void main(String[] args) {
SaleTicket st = new SaleTicket();
Thread t1 = new Thread(st, "一號視窗");
Thread t2 = new Thread(st, "二號視窗");
Thread t3 = new Thread(st, "三號視窗");
Thread t4 = new Thread(st, "四號視窗");
t1.start();
t2.start();
t3.start();
t4.start();
}
}
class SaleTicket extends Thread {// sale英 [seɪl] n.拍賣;賣,出賣;
private int tickets = 100;
@Override
public void run() {
while (tickets > 0) {
sale();
}
}
private synchronized void sale() {// synchronized 同步。
if (tickets > 0) {
System.out.println(Thread.currentThread().getName() + "賣出了第"
+ (100 - tickets + 1) + "張票");
tickets--;
try {
Thread.sleep(500);
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}// 假設購票過程需要500毫秒。
}
}
}
相關文章
- 多執行緒—賣票執行緒
- Python簡單實現多執行緒例子Python執行緒
- Java語言多執行緒實現一個火車站賣票系統Java執行緒
- 執行緒鎖 -賣票機制執行緒
- Golang多執行緒簡單鬥地主Golang執行緒
- 多執行緒Demo學習(執行緒的同步,簡單的執行緒通訊)執行緒
- java多執行緒 wait() notify()簡單使用Java執行緒AI
- Java多執行緒就是這麼簡單Java執行緒
- 【Java】【多執行緒】執行緒池簡述Java執行緒
- 執行緒Thread練習題1買票,使用多執行緒的方式模擬四個視窗賣100張票執行緒thread
- ObjC 多執行緒簡析(一)-多執行緒簡述和執行緒鎖的基本應用OBJ執行緒
- 多執行緒之死鎖就是這麼簡單執行緒
- 【多執行緒系列】CAS、AQS簡單介紹執行緒AQS
- 簡單的多執行緒複製檔案執行緒
- 執行緒的【生命週期】和【執行緒的同步】(多視窗售票例子)執行緒
- 【多執行緒】常見問題簡單總結執行緒
- 瀏覽器多執行緒和js單執行緒瀏覽器執行緒JS
- 簡單的執行緒池執行緒
- redis為什麼用單執行緒不用多執行緒Redis執行緒
- Java多執行緒—執行緒同步(單訊號量互斥)Java執行緒
- 多執行緒和多執行緒同步執行緒
- 多執行緒--執行緒管理執行緒
- 執行緒與多執行緒執行緒
- 多執行緒【執行緒池】執行緒
- 簡單的執行緒池(六)執行緒
- 簡單的執行緒池(四)執行緒
- 簡單的執行緒池(三)執行緒
- 簡單的執行緒池(九)執行緒
- 簡單的執行緒池(八)執行緒
- 簡單的執行緒池(七)執行緒
- 簡單的執行緒池(二)執行緒
- 簡單C++執行緒池C++執行緒
- python多執行緒、鎖、event事件機制的簡單使用Python執行緒事件
- OS開發基礎——多執行緒的簡單應用執行緒
- 多執行緒併發鎖分類以及簡單例項執行緒單例
- 簡易多執行緒爬蟲框架執行緒爬蟲框架
- Java多執行緒-執行緒中止Java執行緒
- 多執行緒之初識執行緒執行緒