多線程同步方式和技巧

1、線程建立this

方式1:重寫run方法
    Thread thread = new Thread(){
        public void run(){
            //任務
        }
    }.start();spa

 方式2:實現runnable接口
    Thread thread = new  Thread(
        new Runnable(){
            public void run(){
                //任務代碼
            }
        }
    ).start();線程

2、定時器
定時器:傳統定時器TraditionTimer
    new Timer().schedule(new TimerTask(){    
        public void run(){
            //任務代碼
        }
    },time);   對象

3、同步接口

  實現同步的方式有:①同步代碼塊 synchronized {須要同步的代碼},②同步方法 public void synchronized method(){}資源

注意點:方法同步鎖是 this,靜態方法同步鎖是類文件對象。同步

同步通訊幾個小的知識點要點:it

    1.同步的代碼片斷或數據,抽出來做爲資源類使用,不要寫在線程裏面。io

    2.判斷通訊條件時,儘可能使用while而不是使用if,由於在喚醒線程時,可能有假喚醒。thread

例如一下代碼:

線程代碼:

資源代碼:

相關文章
相關標籤/搜索