17
@ThreadSafe 
public class A
{
}

这个注释实际上是使类线程安全还是只是为了可读性?

4

2 回答 2

27

请参阅@ThreadSafe 注释

将此注释放在可以安全地从多个线程同时调用的方法上。方法实现者必须使用各种可能的技术来确保线程安全,包括不可变数据、同步共享数据或根本不使用任何共享数据。

它不会使类线程安全,程序员将其设为线程安全并添加注释。

您可能也希望看到这个有用的链接。

于 2013-10-02T06:29:42.620 回答
0

使用@ThreadSafe注解:

  • 向注解类的用户表达线程安全保证,以便他们快速了解是否应该在多线程环境中使用该类。也许更重要的是,它让他们保证这在未来也是如此。
  • 让代码的维护者意识到他们的更改不能破坏线程安全承诺。这很重要,因为客户端代码可能依赖于此类是线程安全的。
  • 通过 IDE 和静态分析工具帮助您在使用此类时识别潜在的并发相关问题。

注解不会改变代码本身的运行方式,把它放在一个不能保证线程安全的类上是错误的。

于 2022-01-03T16:03:24.710 回答