带有昂贵参数的Java同步方法

前端之家收集整理的这篇文章主要介绍了带有昂贵参数的Java同步方法前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我有一个似乎“使用”同步的同步方法比它应该显着更长.它看起来像;
public static synchronized void myMethod(MyParameter p) {
    //body (not expensive)
}

电话看起来像;

myMethod(generateParameter());

其中generateParameter()已知是非常昂贵的(需要很长时间)调用.我的想法是,在执行generateParameter()时,myMethod类上的互斥锁被阻塞了,这是怎么回事?我发现它是一个不同的调试问题,但这似乎正在发生.

解决方法

那不可能;首先执行generateParameter()调用,然后将其结果作为myMethod调用的参数给出,然后myMethod调用获取互斥锁.

它需要很长时间,还是无限期阻止? (僵局)

猜你在找的Java相关文章