一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

服務器之家:專注于服務器技術及軟件下載分享
分類導航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術|正則表達式|C/C++|IOS|C#|Swift|Android|VB|R語言|JavaScript|易語言|vb.net|

服務器之家 - 編程語言 - Java教程 - Java多線程窗口售票問題實例

Java多線程窗口售票問題實例

2021-02-21 10:53杯酒故人 Java教程

這篇文章主要介紹了Java多線程窗口售票問題實例,具有一定參考價值,需要的朋友可以了解下。

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

具體代碼如下:

第一種:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
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();
    }
  }
}

結果:

Java多線程窗口售票問題實例

第二種:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
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--) + "張票");
        }
      }
    }
  }
}

結果:

Java多線程窗口售票問題實例

?
1
2
3
4
5
6
7
8
9
10
11
12
13
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();
  }
}

不知道是巧合還是怎么回事,運行這兩個多線程小實例的時候,電腦突然卡了起來,我趕緊把eclipse關了。

有關于結束進程的語句并沒有添加,自行參閱吧。

以上就是本文關于java多線程窗口售票問題實例的全部內容,希望對打擊有所幫助。如有問題可以隨時留言,期待您的寶貴意見。

原文鏈接:https://www.cnblogs.com/neuhao/p/6485573.html

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 歪歪视频在线播放无遮挡 | 1024在线视频精品免费 | 天海翼黄色三级 | 欧美日韩一区二区中文字幕视频 | 亚洲色大成网站www久久九九 | 男人和女人日 | 性xxx免费视频 | 四虎在线精品观看免费 | 狠狠综合久久综合网站 | 韩剧消失的眼角膜免费完整版 | 岛国虐乳紧缚媚药调教 | 亚洲精品乱码久久久久久蜜桃 | 污斗罗大陆| 精品视频在线免费看 | 国产视频一区在线观看 | bl文全肉高h湿被灌尿 | 91国产在线视频 | 好大好热| 国产亚洲精aa在线观看香蕉 | 热99精品| 波多野结衣无码 | seetube18日本第一次 | 日本 在线观看 | 91中文字幕yellow字幕网 | 成品人视频免费观看 | 色老板在线免费视频 | ak福利影院 | 小寡妇好紧进去了好大看视频 | 亚洲区视频在线观看 | 精品午夜久久网成年网 | 全弄乱纶小说 | 男人猛戳女人下部30分钟 | 香蕉成人国产精品免费看网站 | 我的好妈妈7中字在线观看韩国 | 男人天堂网站在线 | 九九热在线观看视频 | yjsp妖精视频在线观看免费 | 5g影院天天5g爽天天看 | 女教师三级做受 | h肉动漫在线视频无修无遮挡 | 成人欧美视频在线看免费 |