多线程的同步锁实现方法

时间:2026-02-17 17:21:37

1、public synchronized void test() {

System.out.println("test开始..");

try {

Thread.sleep(1000);

} catch (InterruptedException e) {

e.printStackTrace();

}

System.out.println("test结束..");

}

}

多线程的同步锁实现方法

2、class MyThread extends Thread {

public void run() {

Sync sync = new Sync();

sync.test();

}

}

public class Main {

public static void main(String[] args) {

for (int i = 0; i < 3; i++) {

Thread thread = new MyThread();

thread.start();

}

}

}

多线程的同步锁实现方法

3、可以看出来,上面的程序起了三个线程,同时运行Sync类中的test()方法,虽然test()方法加上了synchronized,但是还是同时运行起来,貌似synchronized没起作用。 

将test()方法上的synchronized去掉,在方法内部加上synchronized(this):

public void test() 

多线程的同步锁实现方法

© 2026 一点知道
信息来自网络 所有数据仅供参考
有疑问请联系站长 site.kefu@gmail.com