是否应锁定对公共共享功能的调用以确保线程安全

时间:2012-01-16 21:41:39

标签: multithreading thread-safety

如标题所示。是否应该锁定对公共共享功能的调用以保证线程安全?

3 个答案:

答案 0 :(得分:2)

如果您的公共共享库使用类级变量,则为是,如果它们使用局部变量,则为否。

答案 1 :(得分:1)

如果你的类是组件或bean并且在像tomcat server这样的多线程环境中运行,那么如果函数(对象)在共享内存中写入数据,则必须将其锁定

答案 2 :(得分:0)

没有。

首先,他们甚至可能不需要锁定。

其次,如果您的函数的用户不是多线程的,那么您支付锁定开销就没有任何好处。

您应该清楚地记录该功能是否是线程安全的,并允许用户做出决定。有关Java示例,请参阅集合框架。