gpt4 book ai didi

java - Osgi 同步服务

转载 作者:行者123 更新时间:2023-11-29 05:41:52 25 4
gpt4 key购买 nike

可以从其他包同步 osgi 服务吗?

OsgiService oS = retrieveService(BundleContext);

synchronized(oS){
...
}

我不想允许来自 bundle 外部的调用在内部特定方法执行期间进行更改。

bundle 已注册并处于 Activity 状态。我在 Equinox 框架下工作。

最佳答案

没有。当您发布一项服务时,您将其声明为普遍可用,而对其使用方式没有任何限制。例如,您不能限制其他包以特定顺序调用方法,或要求它们使用同步,或始终从特定线程调用。因此,您必须假设您从任何线程调用,无需同步等。

如果您的服务实现的内部状态很脆弱并且需要同步,那么您有责任在您的实现内部进行同步。您不能将这项工作强加给其他人。

关于java - Osgi 同步服务,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17188144/

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