gpt4 book ai didi

java - 嵌套同步的速度

转载 作者:塔克拉玛干 更新时间:2023-11-02 20:13:05 25 4
gpt4 key购买 nike

进入嵌套同步块(synchronized block)是否比普通同步块(synchronized block)更快?或者,例如,以下哪个例程更快:

void routine1(SyncClass a) {
a.syncMethod1();
a.syncmethod2();
a.syncMethod1();
}

void routine2(SyncClass a) {
synchronized(a) {
a.syncMethod1();
a.syncmethod2();
a.syncMethod1();
}
}

方法是同步的。我正在考虑在不需要线程安全的情况下使用线程安全对象。因此并发级别不受影响。

此外,答案是否取决于平台?

最佳答案

您最好同步最小的代码元素,从性能方面考虑,无论平台如何。

synchronized block 中包装多个同步调用会降低并发性(从而降低性能)。仅当您需要同步特定调用序列时才执行此操作。

如果您担心除了来自并发的性能影响,我不知道哪个更快。但是,我希望您描述的两种方法的性能差异是难以察觉的。

关于java - 嵌套同步的速度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11075187/

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