【问题标题】:is OSGI event handler thread safeOSGI 事件处理程序线程安全吗
【发布时间】:2016-10-07 07:51:38
【问题描述】:

在我的应用程序中,我们使用事件管理来发布事件,并且同时触发了多个事件。这些由事件处理程序处理。在事件处理程序中声明了一些私有变量,并在handleEvent() 方法中使用。

它会导致任何线程安全问题吗?在事件处理程序线程安全中将变量声明为私有?

【问题讨论】:

    标签: osgi


    【解决方案1】:

    您的事件处理程序可以同时在不同的线程上调用。因此,您必须确保安全地处理对任何字段的访问。

    将变量声明为私有与线程安全完全无关。重要的不是访问状态,重要的是同时访问。

    您可以使用 synchronized 关键字、锁或无锁结构来控制访问。

    【讨论】:

    • 谢谢彼得,所以在服务(类)级别声明的字段可能可以同时访问和修改,这将导致不确定的行为,因为这个而不是同步或锁定,我们可以只使用方法级别的局部变量并使用它。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-07-03
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多