无码av一区二区三区无码,在线观看老湿视频福利,日韩经典三级片,成 人色 网 站 欧美大片在线观看

歡迎光臨散文網(wǎng) 會(huì)員登陸 & 注冊(cè)

Java線程中的賣火車票問題

2020-11-19 16:09 作者:每天一個(gè)禿頂小技巧  | 我要投稿

用Java代碼模擬賣100張火車票問題:四個(gè)售票窗口同時(shí)售票且不能賣出同一張火車票。
代碼如下。


  • 1 package lesson;

  • 2 public class Demo1 {

  • 3 public static void main(String[] args) {

  • 4 // TODO Auto-generated method stub

  • 5 Train tt = new Train();

  • 6 Thread t1 = new Thread(tt);

  • 7 Thread t2 = new Thread(tt);

  • 8 Thread t3 = new Thread(tt);

  • 9 Thread t4 = new Thread(tt);

  • 10 t1.setName("窗口1");

  • 11 t2.setName("窗口2");

  • 12 t3.setName("窗口3");

  • 13 t4.setName("窗口4");

  • 14 t1.start();

  • 15 t2.start();

  • 16 t3.start();

  • 17 t4.start();

  • 18 }

  • 19}

  • 20 class Train implements Runnable{

  • 21 int a= 1;

  • 22 @Override

  • 23 public synchronized void run() {//synchronized為進(jìn)程上鎖

  • 24 // TODO Auto-generated method stub

  • 25 while(true) {

  • 26 if(a<=100) {

  • 27 System.out.println(Thread.currentThread().getName()+"賣出"+a+"號(hào)票");

  • 28 a++;

  • 29 }

  • 30 try {

  • 31 this.wait(230);

  • 32 Thread.sleep(100);//結(jié)果輸出只有窗口1賣了所有票如圖2所示

  • 33 } catch (InterruptedException e) {

  • 34 // TODO Auto-generated catch block

  • 35 e.printStackTrace();

  • 36 }

  • 37 }

  • 38 }

  • 39 }

wait()正常運(yùn)行結(jié)果圖1:


sleep()運(yùn)行結(jié)果如圖2所示:


兩種結(jié)果不同的主要主要是sleep方法沒有釋放鎖,而wait方法釋放了鎖,使得其他線程可以使用同步控制塊或者方法。

常用類JavaString常用類JJavaStringBuilder

Java線程中的賣火車票問題的評(píng)論 (共 條)

分享到微博請(qǐng)遵守國家法律
广南县| 临武县| 永州市| 从江县| 汉源县| 冕宁县| 聂荣县| 岳池县| 洛阳市| 藁城市| 贵阳市| 南华县| 剑阁县| 阜平县| 三门峡市| 屏边| 内乡县| 刚察县| 龙泉市| 浦北县| 二手房| 尤溪县| 永泰县| 平舆县| 六安市| 多伦县| 大庆市| 兴城市| 土默特左旗| 新沂市| 德安县| 襄汾县| 米脂县| 丹棱县| 临朐县| 阿拉善右旗| 毕节市| 清苑县| 闸北区| 拜城县| 榆林市|