1. 程式人生 > >多執行緒售票案例

多執行緒售票案例

Tickets實現Runnable:

public class Tickets implements Runnable {
    
    //定義可以出售的票源
    private int ticket=100;
    
    public void run(){
        while(true){
            //對票數判斷,大於0,可以出售
            if(ticket>0){
                System.out.println(Thread.currentThread().getName()+ "出售第"+ticket--);
            }
        }
    }

}

測試類Demo:

/*
 * 多執行緒併發訪問同一個資料資源
 * 3個執行緒,對一個票資源,出售
 */
public class ThreadDemo {
    public static void main(String[] args) {
        //建立Runnable介面實現類物件
        Tickets t=new Tickets();
        //建立3個Thread類物件,傳遞Runnable介面實現類
        Thread t0=new Thread(t);
        Thread t1=new Thread(t);
        Thread t2=new Thread(t);
        
        t0.start();
        t1.start();
        t2.start();
    }
}

相關推薦

Python執行售票案例

在學習多執行緒的時候,我們經常要學習到多視窗售票這一經典案例,今天我們將用Python語言寫一個簡單易懂的售票程式,幫助大家學習理解 import threading import time lock=threading.Lock() k=250 class a(threading.Thread

執行售票案例

Tickets實現Runnable:public class Tickets implements Runnable {        //定義可以出售的票源    private int ticket

非結構化資料與結構化資料提取---執行爬蟲案例

多執行緒糗事百科案例 案例要求參考上一個糗事百科單程序案例 Queue(佇列物件) Queue是python中的標準庫,可以直接import Queue引用;佇列是執行緒間最常用的交換資料的形式 python下多執行緒的思考 對於資源,加鎖是個重要的環節。因為python原生的list,dict等,

java執行入門案例(2)之執行簡單應用

  上一篇文章:java多執行緒案例(1)之簡單銀行取款問題及其優化 我大概介紹了一下Java程式碼優化的問題,主要針對出學者而言,這一次我要介紹多執行緒應用的簡單案例 。網上有許多多執行緒的案例,但大多都挺複雜的,今天我主要目的也是介紹一下多執行緒應用的簡單案例,讓初學

java執行入門案例(1)之簡單銀行取款問題及其優化

      之前學java的時候,學校老師由於課時問題,沒有教我們多執行緒,最近學校外聘的企業教師給我們做實訓要用到多執行緒,因此才初步瞭解多執行緒,以下這個案例只是介紹java程式碼優化,程式碼中有涉及多執行緒,但今天不對其講解,只簡單講解程式碼優化的問題,希望對初學

執行售票問題

多執行緒售票問題 package com.carlinfo.bigdata; /** * 多執行緒售票問題 */ public class Ops4 { public static void main(String[] args) { /**

12章執行應用案例

龜兔賽跑:20米     //只要為了看到效果,所有距離縮短了  要求: 1.兔子每秒0.5米的速度,每跑2米休息10秒, 2.烏龜每秒跑0.1米,不休息    3.其中一個跑到終點後另一個不跑

基於執行池的執行售票demo

廢話不多說,直接就開擼 import org.springframework.util.StopWatch; import java.util.concurrent.*; /** * 基於執行緒池實現的多執行緒賣票demo * joey li * 2018-4-12 *

執行爬蟲案例

Queue(佇列物件) Queue是python中的標準庫,可以直接import Queue引用;佇列是執行緒間最常用的交換資料的形式 python下多執行緒的思考 對於資源,加鎖是個重要的環節。因為python原生的list,dict等,都是not thread sa

【面試題】 模擬執行售票系統

public class Tiket{ private int tiketNumber; public int getTiketNumber() { return tiketNumber; } public void setTiketNumber(int tiketNumber) {

java執行經典案例

/** * 典型案例:子執行緒執行10次,主執行緒執行100次,兩者交替50次。 */ package cn.itcast.lesson4; public class TestWaitNotify { public static void main(String[]

JAVA 執行經典案例-生產者消費者模型【使用wait/notify實現】

  生產者消費者模型實現細節 生產者生產產品到公共倉庫,消費者消費公共倉庫中產品。 情況一:當公共倉庫產品達到倉庫容量上限,生產者停止生產; 情況二:當公共倉庫沒有產品,或達到設定的倉庫容量下限,消費者停止消費; 情況三:當公共倉庫產品達到容量上限時,消費者消費一

執行售票示例

業務介紹:   多執行緒執行春節車票售賣! 程式碼邏輯如下: /** * 售票任務 */ class TaskRunnable implements Runnable{ /** * 剩餘車票數量 */ private AtomicInteg

mysql函式大批量插入資料+java執行併發案例

當前需要做個測試,mysql資料庫需要5000萬資料來完成效能測試,於是我們寫了個函式來完成這個功能。 函式定義如下: #批量插入資料庫的函式 BEGIN     #定義需要插入資料庫表中的欄位;       DECLARE id BIGINT(20);     DECLA

執行經典案例:模仿儲戶取錢

銀行取錢肯定不能透支這個是眾所周知的,實現此功能就需要藉助多執行緒的知識! 先來看一下采取同步措施前產生的結果: 好的,我們先來定義一個賬戶類: /** * 賬戶類,含卡號,還有餘額 通過同步方法防止出現餘額為負的情況 * * @author Mr.Gao *

Java執行--售票程式碼

使用繼承自Thread類的子類: 同步塊: /** * 繼承Thread類的售票類 * * @author XINY * */ class TicketT extends Thread

java 執行 總結 案例

學完東西后,要學會總結,學會記錄筆記,這樣才會有更大的收穫 首先我們瞭解執行緒和程序的基本概念 一、概念(程式 程序 執行緒) 1、程式:指令集 靜態概念 2、程序:作業系統 排程程式 動態概念 3:執行緒:在程序內多條執行路徑 真正的多執行緒是指多個cpu 二、建立

android執行--計時案例

在android應用開發中,多執行緒很常見,而且很java中的多執行緒有些不同。在android多執行緒中,主執行緒負責管理其他子執行緒,必須明確主執行緒和子執行緒的職責,否則統會丟擲異常“Only the original thread that created a vi

Java執行實現電影院售票案例

某電影院目前正在上映賀歲大片,共有100張票,而它有3個售票視窗,請設計一個程式模擬該電影院售票。 定義Sell類實現Runnable介面,很好的解決了單繼承共享資源問題 public class Sell implements Runnable { // 定義100張票,三個售票

spider----利用執行爬取51job案例

程式碼如下 import json from threading import Thread from threading import Lock from queue import Queue import requests from bs4 import BeautifulSoup i