如标题所示。是否应该锁定对公共共享功能的调用以保证线程安全?
答案 0 :(得分:2)
如果您的公共共享库使用类级变量,则为是,如果它们使用局部变量,则为否。
答案 1 :(得分:1)
如果你的类是组件或bean并且在像tomcat server这样的多线程环境中运行,那么如果函数(对象)在共享内存中写入数据,则必须将其锁定
答案 2 :(得分:0)
没有。
首先,他们甚至可能不需要锁定。
其次,如果您的函数的用户不是多线程的,那么您支付锁定开销就没有任何好处。
您应该清楚地记录该功能是否是线程安全的,并允许用户做出决定。有关Java示例,请参阅集合框架。