взаимного исключения, как правило, достигается, в простейшей форме, путем маркировки способа, как синхронизируются. Помещая метод объекта как синхронизированный, только один поток может когда-либо выполнять метод этого объекта за раз. Объектом, владеющим этим методом, является монитор.
Кроме того, вы можете определить синхронизированный блок в самом коде, передав ему объект в качестве монитора.
Я считаю, что вы могли бы добиться того же самого более простым способом, указав объект Runnable, у которого есть логика, которую вы хотите сделать. Если вы хотите взаимное исключение, определите синхронизированный метод.
Затем этот экземпляр Runnable может быть передан столько потоков, сколько вам нужно. Поскольку все они ссылаются на одно и то же Runnable, вызовы синхронного метода будут взаимоисключающими.
Это не единственный способ, но это должно быть то, что вам нужно. Надеюсь это поможет.
Что ваш вопрос ? –
@ RalfH http://stackoverflow.com/questions/14803850/mutual-exclusion-code –
Хорошо, но на это был дан ответ. Каков ваш вопрос _here_? –