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...