我正在编写一个随机细胞自动机,我在网格上播放Cell(定义为一组像素)。 网格在主程序中,我有一个Cell对象的类和一个继承Thread的类,用于Cell行为的随机计算。 我的问题是,当两个单元格接触时,它们可以同时随机获取网格的相同像素,或者可以在没有其他知道的情况下获取它。 因此它会导致一些错误,其中像素不归属于Cell,但Cell仍然将其识别为“自我”。
我的问题是:如何同步(或“优先级”?)线程,以便它们不会同时修改相同的公共组件?
谢谢。
答案 0 :(得分:0)
使用Java关键字synchronized
,或者更确切地说,使用Java Synchronizer Framework中的Mutex
或ReentrantLock
等新数据结构。
但在此之前,我建议阅读线程编程的介绍......