返回顶部

收藏

java 同步方法的使用 防止多线程同时执行方法

更多
/**
 * java 同步方法的使用,防止多线程同时执行方法。
 * 
 * synchronized方法加锁,不管哪一个线程运行到这个方法时,都要检查有没有其它线程正在用这个方法,
 * 有的话要等正在使用synchronized方法的线程运行完这个方法后再运行此线程,没有的话,直接运行。
 */
class Callme {
    synchronized void call(String msg) {
        System.out.print("[" + msg);

        try {
            Thread.sleep(1000);
        } catch (InterruptedException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
        System.out.println("]");
    }
}

class caller implements Runnable {
    String msg;
    Callme target;

    public caller(Callme t, String s) {
        target = t;
        msg = s;
    }

    public void run() {
        target.call(msg);
    }
}

class Synch1 {
    public static void main(String args[]) {
        Callme target = new Callme();
        new caller(target, "Hello").run();
        new caller(target, "Synchronized").run();
        new caller(target, "World").run();
    }
}

标签:java

收藏

0人收藏

支持

0

反对

0

发表评论