1. 程式人生 > >java 多執行緒 實現視窗買票功能

java 多執行緒 實現視窗買票功能

class hello implements Runnable{
 
    private int ticket = 5;  //5張票
 
    public  synchronized  void run() {
        for (int i=0; i<=20; i++) {
            if (this.ticket > 0) {
                System.out.println(Thread.currentThread().getName()+ "正在賣票"+this.ticket--);
            }
        }
    }
     
    public static void main(String [] args) {
        hello my = new hello();
        new Thread(my, "1號視窗").start();
        new Thread(my, "2號視窗").start();
        new Thread(my, "3號視窗").start();
        new Thread(my, "4號視窗").start();

    }
}

相關推薦

java 執行 實現視窗功能

class hello implements Runnable{       private int ticket = 5;  //5張票       public  synchronized  void run() {         for (int i=0; i<

Java執行實現視窗售票的功能

在這個程式中我們一共售賣1-100號票,一共有4個視窗,首先我們看程式如下 package com.study.article1; /** * @func 多執行緒實現視窗賣票. * @author 張俊強~ * @time 2017/10/27

運用執行實現火車票的案例

1.建立多執行緒類繼承Runnable package test3; public class TicketThread implements Runnable{ int ticket = 100; Object obj = new O

Java 執行實現視窗同時賣

建立執行緒的第二種方式:實現Runable介面 步驟: 1,定義類實現Runnable介面 2,覆蓋Runnable介面中的run方法。將執行緒要執行的程式碼存放在該run方法中。 3,通過Thread類建立執行緒物件。 4,將Runnable介面的子類物件作為實際引數傳遞

執行(模擬)-----java基礎知識總結

這次的的問題引入的比較深入,如果看了這篇部落格,不看下一篇,你會很懵逼。 程式碼: 1 package com.day13.math; 2 /** 3 * 類說明 :模擬三個視窗同時售票 4 * @author 作者 : chenyanlong 5 * @versi

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

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

Java 執行實現死鎖場景

簡述: 《Java 程式設計思想》  P718 ~ P722 模擬死鎖的場景, 三個人 三根筷子,每個人需要拿到身邊的兩根筷子才能開始吃飯 出現死鎖的場景是,三個人都拿到了右邊的筷子,但是由於筷子都被搶佔,均無法獲得左邊的筷子 Chopstick.java

java:執行(實現Runnable的原理)及二種方式的區別

* 1,看Thread類的建構函式,傳遞了Runnable介面的引用  * 2,通過init()方法找到傳遞的target給成員變數的target賦值 * 3,檢視run方法,發現run方法中有判斷,如果target不為null就會呼叫Runnable介面子類物件的run方法 *

Java執行實現的方式

Java多執行緒實現的方式有四種 1.繼承Thread類,重寫run方法 2.實現Runnable介面,重寫run方法,實現Runnable介面的實現類的例項物件作為Thread建構函式的target 3.通過Callable和FutureTask建立執行緒 4.通過執行緒池建立執行

(CSDN遷移) JAVA執行實現-實現Runnable介面

實現Runnable介面  implements Runnable 重寫run()方法 @Override public void run(){//TODO} 建立執行緒物件: Thread thread1 = new Thread(new Implement

(CSDN遷移)JAVA執行實現-單執行執行池newSingleThreadExecutor

JAVA通過Executors提供了四種執行緒池,單執行緒化執行緒池(newSingleThreadExecutor)、可控最大併發數執行緒池(newFixedThreadPool)、可回收快取執行緒池(newCachedThreadPool)、支援定時與週期性任務的執行緒池(newScheduledThre

(CSDN遷移) JAVA執行實現-可控最大併發數執行池(newFixedThreadPool)

上篇文章中介紹了單執行緒化執行緒池newSingleThreadExecutor,可控最大併發數執行緒池(newFixedThreadPool)與其最大的區別是可以通知執行多個執行緒,可以簡單的將newSingleThreadExecutor理解為newFixedThreadPool(1)。例如執行一下兩個程

Java執行實現以及執行安全筆記

Java虛擬機器允許應用程式併發地執行多個執行緒。 以下為多執行緒的實現常用的2種方法 (1)繼承Thread類,重寫run()方法      Thread本質上也是實現了Runnable介面的一個例項,代表一個執行緒的例項。啟用執行緒的唯一方法就是通過Thread類的

java執行實現一個簡單的水池進出水問題

需求: 有一個水池100L,有出水口和入水口,出水口和入水口不能同時開啟,入水口每次注入5L水,出水口每次出4L水,如果池子注滿水,或者池子中沒有水就停止。 使用繼承Thread類的方式編寫出水口,使用實現Runnable方式編寫入水口,執行結果。 package po

Java執行實現加法計算

採用多執行緒的方式實現從1到N的和 1.直接順序計算 public static void Sum(int N){ long start1 = System.currentTimeMillis(); long sum = 0;

JAVA執行實現的四種方式

         昨天自己用ExecutorService建立執行緒池做穿透測試了一下,感覺挺有意思,所以又好好的看了一下執行緒的問題,在此轉載了一篇博友的文章,感覺總結的不錯,所以分享一下. Java多執行緒實現方式主要有四種: 繼承Thread類、實現Runnable

JAVA 執行實現方式

一般實現得方式有倆種: 實現Runnable介面。該介面中的方法run(),來實現建立執行緒。 繼承Thread類。 這倆種實現執行緒得方式對比而言: 一個Thread物件只能建立一個執行緒,即使它呼叫多次的.start()也會只執行一個的執行緒。建立多個執行緒就需要多個Thread

java執行實現搶紅包

在準備寫這個程式碼之前,我著實的複習和加深了對執行緒操作的使用,同步和資料共享! 說一下程式碼的思路: 首先搶紅包,人、紅包抽象為兩個物件,人(獲取到紅包)紅包(總額,數量,提供生成隨機金額方法) 其

Java執行-----實現生產者消費者模式的幾種方式

   1 生產者消費者模式概述      生產者消費者模式就是通過一個容器來解決生產者和消費者的強耦合問題。生產者和消費者彼此之間不直接通訊,而通過阻塞佇列來進行通訊,所以生產者生產完資料之後不用等待消費者處理, 直接扔給阻塞佇列,消費者不找生產者要資料,

JAVA執行實現的三種方式及內部原理

JAVA多執行緒實現方式主要有三種:繼承Thread類、實現Runnable介面、使用ExecutorService、Callable、Future實現有返回結果的多執行緒。其中前兩種方式執行緒執行完