同步方法解決同步問題
阿新 • • 發佈:2017-06-05
ble static pan 返回 runnable except 判斷 void 數列
package tongbufangfa.cn; /* * 同步方法 解決同步問題 * 同步方法:使用synchronized 關鍵字將一個方法申明為 同步方法 * 格式為: * synchronized 方法返回值 方法名稱 (參數列表){ * } */ //一個類實現runnable class TongBu implements Runnable{ private int tiket = 5; public void run(){ for (int i = 0; i < 100; i++) { //調用同步方法 this.sale(); } } //使用同步方法 public synchronized void sale(){ //判斷票數是否大於0 ,大於0的話就賣票 if (tiket>0) { //設置線程之間延遲 try{Thread.sleep(50);} catch(Exception e){} System.out.println("tiket = "+ tiket--); } } }public class TongBuFangFa { public static void main(String[] args) { TongBu tb = new TongBu(); Thread tbd1 = new Thread(tb); Thread tbd2 = new Thread(tb); Thread tbd3 = new Thread(tb); tbd1.start(); tbd2.start(); tbd3.start(); } }
同步方法解決同步問題