【发布时间】:2011-10-04 16:42:02
【问题描述】:
我在某处读到,启动线程对发生前的关系有一些特殊影响。现在我不确定我的代码是否能保证发生之前的关系,所以请赐教。
我有一个 Dispatcher 线程和一个实现 Runnable 接口的 Worker 类。 Dispatcher 线程创建一个新的 Worker 实例,并通过 add 方法用元素填充 Worker 实例中的 LinkedList。
然后 Dispatcher 通过 execute 方法将 Worker 实例交给 ExecutorService。
然后 Worker 类中的 run 方法开始访问和删除 LinkedList 中的内容。
新启动的 Worker 实例是否看到 LinkedList 的状态与 Dispatcher 留下的相同?或者可能是LinkedList 处于某种不一致的状态?我是否必须以同步方式填写LinkedList?
【问题讨论】:
标签: java concurrency synchronization jvm java-memory-model