Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/385.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jakarta ee 如何检查JavaEE单例是否繁忙?_Jakarta Ee_Singleton_Javabeans - Fatal编程技术网

Jakarta ee 如何检查JavaEE单例是否繁忙?

Jakarta ee 如何检查JavaEE单例是否繁忙?,jakarta-ee,singleton,javabeans,Jakarta Ee,Singleton,Javabeans,我在单例JavaEE6bean中有一个持久的方法 我如何“从外部”查看该单例当前是否繁忙?您可以在该方法中更改对象属性(标志),以指示该方法正在执行 从外部,您可以执行object.getBusyFlag()来决定 但是,如果你想使方法线程安全,你可以考虑同步< /强>关键字。 < p>肯特是正确的。此外,如果“flag”只是一个布尔值,则可以将其声明为“volatile”,而不使用“synchronized”。由于它是一个单例,因此bean在方法运行时被锁定。getBusyFlag()将在主方

我在单例JavaEE6bean中有一个持久的方法


我如何“从外部”查看该单例当前是否繁忙?

您可以在该方法中更改对象属性(标志),以指示该方法正在执行

从外部,您可以执行object.getBusyFlag()来决定


但是,如果你想使方法线程安全,你可以考虑<强>同步< /强>关键字。

< p>肯特是正确的。此外,如果“flag”只是一个布尔值,则可以将其声明为“volatile”,而不使用“synchronized”。

由于它是一个单例,因此bean在方法运行时被锁定。getBusyFlag()将在主方法退出后运行。使用静态变量“busy”而不是函数来解决锁定问题。我想,也可以使用bean管理的并发来修复它。谢谢你的回答!