java synchronized 超简单好理解实例

import java.util.concurrent.locks.Lock;
import java.util.concurrent.locks.ReadWriteLock;
import java.util.concurrent.locks.ReentrantReadWriteLock;


public class TableControl implements Runnable {


    private int i = 0;


    /**
     * 这样的话,运行时先print100等10秒再print200
     */
    public synchronized void add(int v) {
        i += v;
        System.out.println(i);
        try {
            Thread.sleep(10000);
        } catch (InterruptedException e) {
            e.printStackTrace();
        }
    }


    @Override
    public void run() {
        add(100);
    }

}



















public class TestMain {


    public static void main(String args[]) {


        TableControl tc = new TableControl();
        Thread t1 = new Thread(tc);
        Thread t2 = new Thread(tc);


        t1.start();
        t2.start();


    }


}

你可能感兴趣的:(java synchronized 超简单好理解实例)