1. 程式人生 > >同步方法解決同步問題

同步方法解決同步問題

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(); } }

同步方法解決同步問題