我看到很多课程 javax.annotation.processing.AbstractProcessor
,并重写 init
成员,使其同步。
例如:https://github.com/weibocom/motan/blob/master/motan-core/src/main/java/com/weibo/api/motan/transport/async/motanasyncprocessor.java#l61
我想象这个函数是由javac编译器专门调用的,如果“同步”是必要的,我希望在oracle的 AbstractProcessor
(但我没有)。
https://docs.oracle.com/javase/7/docs/api/javax/annotation/processing/abstractprocessor.html 供参考。
还有,当我看到 init
同步,我不明白 process
同步。
甲骨文关于 init
成员说,“如果这个方法在同一个对象上被多次调用,就会抛出一个illegalstateexception。”但我不明白这是怎么回事。我想我可以想象这样一个场景,我们需要小心,只有一个线程调用 init
成功(从而同步),然后只有成功的线程才能调用 process
. 但是,如果没有文档支持,这是一种想象。
那么,有必要为我们的系统指定“同步”吗 init
继承自的类的成员 AbstractProcessor
? 为什么?为什么不?如果有必要,为什么没有必要 process
也同步?
有人知道吗?
谢谢!-吉姆
暂无答案!
目前还没有任何答案,快来回答吧!