最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Java多線程窗口售票問(wèn)題實(shí)例

 更新時(shí)間:2017年11月24日 10:24:42   作者:杯酒故人  
這篇文章主要介紹了Java多線程窗口售票問(wèn)題實(shí)例,具有一定參考價(jià)值,需要的朋友可以了解下。

本文介紹了多線程實(shí)現(xiàn)多個(gè)窗口售票問(wèn)題的兩種枷鎖方式, 分別是synchronized 和lock()和unlock()

具體代碼如下:

第一種:

package Runnable; 
 
import java.util.concurrent.locks.Lock; 
import java.util.concurrent.locks.ReentrantLock; 
 
/* 
 * 同步 
 * 這里有兩種方式加鎖 
 * 分別是 
 * 1.synchronized 
 * 2.lock()和unlock() 
 */ 
public class MyRunnable implements Runnable { 
  private int tickets = 100; 
 
  // 定義鎖 
  private Lock lock = new ReentrantLock(); 
 
  public void run() { 
    while (true) { 
      // 加鎖 
      lock.lock(); 
      if (tickets > 0) { 
        try { 
          Thread.sleep(100); 
        } catch (InterruptedException e) { 
          // TODO Auto-generated catch block 
          e.printStackTrace(); 
        } 
        System.out.println(Thread.currentThread().getName() + "售出了第" + (tickets--) + "張票"); 
      } 
      lock.unlock(); 
    } 
  } 
}

結(jié)果:

第二種:

package Runnable; 
 
 
/* 
 * 同步 
 * 這里有兩種方式加鎖 
 * 分別是 
 * 1.synchronized 
 * 2.lock()和unlock() 
 */ 
public class MyRunnable implements Runnable { 
  private int tickets = 100; 
 
  public void run() { 
    while (true) { 
      synchronized (this) { 
        if (tickets > 0) { 
          try { 
            Thread.sleep(100); 
          } catch (InterruptedException e) { 
            // TODO Auto-generated catch block 
            e.printStackTrace(); 
          } 
          System.out.println(Thread.currentThread().getName() + "售出了第" + (tickets--) + "張票"); 
        } 
      } 
    } 
  } 
}

結(jié)果:

package Runnable; 
 
public class RunnableDemo { 
  public static void main(String[] args) { 
    MyRunnable myRunnable = new MyRunnable(); 
    Thread t1 = new Thread(myRunnable, "窗口一"); 
    Thread t2 = new Thread(myRunnable, "窗口二"); 
    Thread t3 = new Thread(myRunnable, "窗口三"); 
    t1.start(); 
    t2.start(); 
    t3.start(); 
  } 
}

不知道是巧合還是怎么回事,運(yùn)行這兩個(gè)多線程小實(shí)例的時(shí)候,電腦突然卡了起來(lái),我趕緊把eclipse關(guān)了。

有關(guān)于結(jié)束進(jìn)程的語(yǔ)句并沒(méi)有添加,自行參閱吧。

以上就是本文關(guān)于Java多線程窗口售票問(wèn)題實(shí)例的全部?jī)?nèi)容,希望對(duì)打擊有所幫助。如有問(wèn)題可以隨時(shí)留言,期待您的寶貴意見(jiàn)。

相關(guān)文章

  • Spring interceptor攔截器配置及用法解析

    Spring interceptor攔截器配置及用法解析

    這篇文章主要介紹了Spring interceptor攔截器配置及用法解析,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-10-10
  • JDK8?HashMap擴(kuò)容算法demo

    JDK8?HashMap擴(kuò)容算法demo

    這篇文章主要為大家介紹了JDK8?HashMap擴(kuò)容算法demo,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-07-07
  • SpringCloudGateway路由失效問(wèn)題

    SpringCloudGateway路由失效問(wèn)題

    本文主要分析了SpringCloudGateway整合nacos時(shí)路由失效的問(wèn)題,作者通過(guò)斷點(diǎn)跟蹤發(fā)現(xiàn)在RouteToRequestUrlFilter類中報(bào)錯(cuò),原因是在讀取配置文件的時(shí)候,沒(méi)有解析到對(duì)應(yīng)的host主機(jī),進(jìn)一步發(fā)現(xiàn)這里包含了一段正則表達(dá)式驗(yàn)證,驗(yàn)證配置的服務(wù)名稱是否合法
    2024-10-10
  • 關(guān)于Spring?Cache?緩存攔截器(?CacheInterceptor)

    關(guān)于Spring?Cache?緩存攔截器(?CacheInterceptor)

    這篇文章主要介紹了關(guān)于Spring?Cache緩存攔截器(?CacheInterceptor),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2021-12-12
  • 詳解maven安裝教程以及解決安裝不成功的解決辦法

    詳解maven安裝教程以及解決安裝不成功的解決辦法

    這篇文章主要介紹了詳解maven安裝教程以及解決安裝不成功的解決辦法,詳細(xì)的介紹了幾種解決方法,非常具有實(shí)用價(jià)值,需要的朋友可以參考下
    2018-12-12
  • 利用java判斷字符串中有漢字?(常用正則表達(dá)式)

    利用java判斷字符串中有漢字?(常用正則表達(dá)式)

    最近工作中遇到了一個(gè)需求,需要利用java獲取字符串中的數(shù)字,嘗試幾種方法后發(fā)現(xiàn)利用正則表達(dá)式實(shí)現(xiàn)最為方便,這篇文章主要給大家介紹了關(guān)于如何利用java判斷字符串中有漢字?的相關(guān)資料,文中還分享了一些常用正則表達(dá)式,需要的朋友可以參考下
    2023-10-10
  • System 類 和 Runtime 類的常用用法介紹

    System 類 和 Runtime 類的常用用法介紹

    這篇文章主要介紹了System 類 和 Runtime 類的常用用法,有需要的朋友可以參考一下
    2014-01-01
  • mybatis?對(duì)于生成的sql語(yǔ)句?自動(dòng)加上單引號(hào)的情況詳解

    mybatis?對(duì)于生成的sql語(yǔ)句?自動(dòng)加上單引號(hào)的情況詳解

    這篇文章主要介紹了mybatis?對(duì)于生成的sql語(yǔ)句?自動(dòng)加上單引號(hào)的情況詳解,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-01-01
  • jvm原理之SystemGC源碼分析

    jvm原理之SystemGC源碼分析

    這篇文章主要介紹了jvm源碼分析之SystemGC的完全解讀,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-01-01
  • fastjson全局日期序列化設(shè)置導(dǎo)致JSONField失效問(wèn)題解決方案

    fastjson全局日期序列化設(shè)置導(dǎo)致JSONField失效問(wèn)題解決方案

    這篇文章主要介紹了fastjson通過(guò)代碼指定全局序列化返回時(shí)間格式,導(dǎo)致使用JSONField注解標(biāo)注屬性的特殊日期返回格式失效問(wèn)題的解決方案
    2023-01-01

最新評(píng)論

拜城县| 英德市| 南宁市| 营口市| 东台市| 丰县| 惠来县| 浦北县| 涪陵区| 聂荣县| 松江区| 青龙| 天镇县| 平陆县| 寻乌县| 项城市| 新田县| 扎赉特旗| 吉木萨尔县| 铁力市| 阜新市| 洞口县| 惠来县| 新营市| 潞西市| 大竹县| 谢通门县| 涪陵区| 班戈县| 随州市| 申扎县| 独山县| 淳安县| 讷河市| 连城县| 湄潭县| 榕江县| 汤阴县| 姚安县| 满城县| 班玛县|