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

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

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多線程窗口售票問題實例,具有一定參考價值,需要的朋友可以了解下。

本文介紹了多線程實現(xiàn)多個窗口售票問題的兩種枷鎖方式, 分別是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多線程窗口售票問題實例的全部內(nèi)容,希望對打擊有所幫助。如有問題可以隨時留言,期待您的寶貴意見。

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

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 美女扒开奶罩让男人吃奶 | 亚洲色图欧美偷拍 | 太紧太深了受不了黑人 | 日本人做受全过程视频 | 成人免费毛片一区二区三区 | 免费视频亚洲 | 好大好硬快点好爽公 | 国产经典一区二区三区蜜芽 | 欧美 亚洲 一区 | 亚洲日本中文字幕在线2022 | 调教处男 | 欧美在线观看视频一区 | 91热国产 | 久草热8精品视频在线观看 久草草在线视视频 | 久久国产36精品色熟妇 | 日本国产在线视频 | 91九色国产porny | 五月色综合婷婷综合俺来也 | 亚洲天堂影视 | 性xxxx欧美高清 | 国产精品久久99 | 日本护士厕所xxx | 韩国一大片a毛片女同 | 国产福利兔女郎在线观看 | 天天躁天天碰天天看 | 免费看片黄 | 欧美a欧美1级 | 91小视频在线观看免费版高清 | 亲爱的客栈第二季免费观看完整版 | 狠狠撸在线播放 | 精品在线播放 | 午夜一个人在线观看完整版 | 亚洲精品电影天堂网 | 啪啪艹| 性xxx欧美| 湖南美女被黑人4p到惨叫 | 国产成人一区二区三区影院免费 | 国内精品免费一区二区三区 | 亚洲乱码一二三四五六区 | 亚洲尿尿 | 亚洲欧美精品久久 |