我在某处读到,启动线程对发生之前的关系有一些特殊影响。现在我不确定我的代码是否能保证发生之前的关系,所以请赐教。
我有一个 Dispatcher 线程和一个实现Runnable
接口的 Worker 类。Dispatcher 线程创建一个新的 Worker 实例,并通过元素LinkedList
的方法在 Worker 实例中填充一个。add
ExecutorService
然后 Dispatcher通过该execute
方法将 Worker 实例交给 a 。
然后 Worker 类中的 run 方法开始访问和删除LinkedList
.
新启动的 Worker 实例是否看到与LinkedList
Dispatcher 离开时相同的状态?或者可能LinkedList
是处于某种不一致的状态?我必须填写LinkedList
同步方法吗?