2012-07-05 121 views
3

假设你建立一个自定义的注释使用自定义的注释,如何

public @interface ThreadSafe { 
} 

为了表示对你的代码的阅读器类或方法实际上是线程安全

其他然后的一个变种评论,如何使用这些类型的自定义注释?

+1

这些问题的答案在这里走的路还很长回答你的问题: http://stackoverflow.com/questions/3341930/use-cases-for-implementing-annotations – ControlAltDel 2012-07-05 19:43:44

回答

1

如果你只是问这样注释的应用潜力,这里的几关我的头顶......

  • 反射式编码可能采取的注释方法的线程安全的优势。例如,Guava的EventBus使用@AllowConcurrentEvents注释作为其EventBus框架的提示。
  • 静态分析工具可以使用注释作为提示 - 要么方法应该具有某个属性,要么该方法的用户可以假定某个属性。例如,静态分析工具可能会对注释为@ThreadSafe的方法执行额外检查,以确保它们实际上是线程安全的。
  • 您可以设计预处理器,这些预处理器可能会识别仅因为特定方法是线程安全而可用的优化机会。
0

这样的注释可以带来可用于提高算法效率的信息。 RandomAccess接口用于此目的。