【问题标题】:How to avoid threads to compete for the same pixels in a cellular automata如何避免线程在元胞自动机中竞争相同的像素
【发布时间】:2013-04-01 08:12:17
【问题描述】:

我正在编写一个随机元胞自动机,其中有 Cells(定义为一组像素)在网格上播放。 网格在主程序中,我有一个 Cell 对象的类和一个继承 Thread 的类,用于 Cell 行为的随机计算。 我的问题是,当两个细胞接触时,它们可以同时随机获取网格的相同像素,或者一个可以在另一个不知道的情况下获取它。 因此,它会导致一些错误,即像素不属于 Cell 但 Cell 仍将其识别为“自身”。

我的问题是:如何同步(或“优先化”?)线程,以便它们不会同时修改同一个公共组件?

谢谢。

【问题讨论】:

标签: java multithreading cellular-automata


【解决方案1】:

使用 Java 关键字 synchronized 或更确切地说是来自 Java Synchronizer Framework 的 MutexReentrantLock 等新数据结构。

但在此之前,我建议阅读线程编程的介绍...

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-12-24
    • 2019-06-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-05-24
    • 1970-01-01
    相关资源
    最近更新 更多