最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(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)遵守國家法律
新疆| 贡山| 班戈县| 晋州市| 扎囊县| 宁国市| 西青区| 子长县| 南木林县| 砚山县| 民丰县| 甘德县| 禄丰县| 镇雄县| 浦北县| 长葛市| 灵璧县| 吕梁市| 泊头市| 堆龙德庆县| 定结县| 竹山县| 如皋市| 东乡族自治县| 揭东县| 金湖县| 大港区| 龙游县| 长治县| 萨嘎县| 平度市| 应用必备| 黔西县| 白城市| 小金县| 通榆县| 睢宁县| 祥云县| 承德市| 中方县| 隆化县|