gpt4 book ai didi

java - 静态方法会阻塞吗?

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

假设我有一个类定义为:

public class MyClass {

private static int data;

public static staticMethod(int val){
... do something with data based on val ...
}
}

现在假设我的应用程序中运行着许多调用静态方法的 Java 线程

MyClass.staticMethod(int)

方法会在每次调用时阻塞吗?即,如果线程 1 首先调用该方法,并且在执行该方法时,线程 2 调用静态方法,第二个线程是否必须等到第一次执行完成?

如果答案是否定的,那么什么时候以非“同步”方式使用静态数据成员才有意义?

最佳答案

不,那不是 static 关键字的一部分。如果你想同步访问相同方法的两个线程,使用其他可能性,例如 synchronized ( methodstatement ),或来自 java.util.concurrent 的东西包。

关于java - 静态方法会阻塞吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18861657/

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