多线程的同步锁实现方法

2025-12-21 19:24:15

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

多线程的同步锁实现方法

声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
猜你喜欢