java多執行緒 買票 ticket 實驗

2021-06-21 21:21:11 字數 1271 閱讀 6518

package org.sh.diffdemo;

public class mythread extends thread

} }}

package org.sh.diffdemo;

public class threadticket

}

發現結果買了十張票 但是只有五張票,沒有達到共享資源的目的 ,下面使用實現runnable介面

package org.sh.diffdemo1;

public class mythread implements runnable

} }}

package org.sh.diffdemo1;

public class threadticket

}

雖然是兩個執行緒但是還是只是買了五張票,達到了共享資源的目的了。

在程式中加入延遲:

package org.sh.syndemo;

class mythread implements runnable catch (interruptedexception e)

system.out.println("買票:ticket="+this.ticket--);

}} }

}public class syndemo01

}

結果:

買票:ticket=5

買票:ticket=5

買票:ticket=4

買票:ticket=4

買票:ticket=3

買票:ticket=2

買票:ticket=1

買票:ticket=0

相信這個結果 大家都知道原因 這裡不解釋了,對上面的**進行同步即可

package org.sh.syndemo;

class mythread implements runnable

} public synchronized void sale() catch (interruptedexception e)

system.out.println("買票:ticket="+this.ticket--);

} }}public class syndemo01

}

多執行緒買票

開啟多個售票視窗同時進行火車票的售賣 多執行緒賣票 前置條件 設定總票數 比如20張 開啟多個售票視窗同時進行火車票的售賣 這裡多個視窗代表 多執行緒.代表啟動了多少個執行緒物件 怎麼賣票 借助迴圈 重複賣票動作 使用 while死迴圈 每賣出1張 總票數 操作 什麼時候退出迴圈?發現賣完了,退出迴...

多執行緒之買票問題

package com.lyon.controller public class testthread2 implements runnable try catch interruptedexception e system.out.println thread.currentthread getn...

多執行緒實現買票功能

方法一 public class sellticket extends thread sellticket sellticket1 new sellticket sellticket sellticket2 new sellticket sellticket sellticket3 new sell...