Javadoc of Executor interface说以下内容:
内存一致性效果:在将
Runnable
对象提交到Executor
之前,线程中的操作发生在执行开始之前,可能是在另一个线程中。
Java语言规范的哪一部分保证了这一点?或者只是因为实现使用了一些内部同步? (如果是这样的话,一个例子会很棒。)因此,在实现自定义Executor
时,我是否应该了解这一要求?
答案 0 :(得分:3)
JLS未指定API。它指定了语言。 javadoc是API规范。
因此,如果你要实现Executor,你最好遵守Executor接口的规范。执行者必须注意提交在执行任务之前发生。这本身并不会发生。需要同步(等待/通知,易失性写/读等)。