五月天青色头像情侣网名,国产亚洲av片在线观看18女人,黑人巨茎大战俄罗斯美女,扒下她的小内裤打屁股

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

Java線程中的賣火車票問題

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

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


  • 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+"號票");

  • 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線程中的賣火車票問題的評論 (共 條)

分享到微博請遵守國家法律
太湖县| 沿河| 若尔盖县| 洮南市| 日土县| 江都市| 永平县| 泰兴市| 南丹县| 元朗区| 余姚市| 农安县| 东山县| 渝北区| 格尔木市| 灵寿县| 抚远县| 禄丰县| 沂水县| 红桥区| 新丰县| 栾城县| 贺兰县| 张掖市| 新源县| 雅江县| 五原县| 嘉兴市| 三都| 新巴尔虎右旗| 大冶市| 永安市| 明星| 桑日县| 衢州市| 陆良县| 和林格尔县| 福建省| 刚察县| 隆安县| 永新县|