gpt4 book ai didi

java - Java 中的线程和同步

转载 作者:塔克拉玛干 更新时间:2023-11-01 21:50:45 26 4
gpt4 key购买 nike

如果一个类中有一个synchronized方法,1个线程进入它,另一个线程是否可以在不同的对象上调用相同的方法。

最佳答案

是的,如果方法不是static

synchronized 非静态方法在 this 上同步。所以这个方法:

public synchronized void foo() {
// do stuff
}

实际上等同于这个:

public void foo() {
synchronized(this) {
// do stuff
}
}

staticsynchronized 方法在当前类上进行同步。所以像这样的方法:

public static synchronized void bar() {
// do stuff
}

实际上等同于这个:

public static void bar() {
synchronized(ThisClass.class) {
// do stuff
}
}

关于java - Java 中的线程和同步,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5168272/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com