5

Executor 接口的 Javadoc 说明如下:

内存一致性效果:在将Runnable对象提交到Executor发生之前,线程中的操作开始执行之前,可能在另一个线程中。

Java 语言规范的哪一部分保证了这一点?或者仅仅是因为实现使用了一些内部同步?(如果是这样的话,一个例子会很好。)那么在实现自定义时Executor我应该知道这个要求吗?

4

1 回答 1

5

JLS 没有指定 API。它指定语言。javadoc 是 API 规范。

因此是的,如果你要实现一个 Executor,你最好遵守 Executor 接口的规范。执行者必须注意提交发生在任务执行之前。这不会自行发生。需要同步(等待/通知、易失性写入/读取等)。

于 2016-01-10T07:45:51.363 回答