2013-04-01 5 views
-1

Я пишу стохастические клеточные автоматы, в которых у меня есть ячейки (определяемые как группа пикселей), играющие на сетке. Сетка находится в основной программе, и у меня есть класс для объекта Cell и класс, наследующий Thread для стохастического вычисления поведения Cell. Моя проблема заключается в том, что, когда две ячейки контактируют, они могут случайно получить один и тот же пиксель сетки одновременно, или можно приобрести его, не зная еще этого. Так что это вызывает некоторые ошибки, когда пиксели не привязаны к соте, но Cell все еще распознает ее как ее «я».Как избежать потоков, чтобы конкурировать за одни и те же пиксели в клеточных автоматах

Мой вопрос: как синхронизировать (или «устанавливать приоритеты»?) Темы так, чтобы они не изменяли один и тот же общий компонент одновременно?

спасибо.

+0

слышал о синхронизированных блоках? используй это. – Ankit

+2

Спасибо. Я на самом деле самообучающееся программирование, и я этого не знал. – Myoch

+0

Читайте на http://docs.oracle.com/javase/tutorial/essential/concurrency/sync.html – 2013-04-01 08:23:41

ответ

0

Используйте ключевое слово Java synchronized или, скорее, новые структуры данных, такие как Mutex или ReentrantLock из Java Synchronizer Framework.

Но перед этим я рекомендую прочитать введение в программируемое резьбовое соединение ...