Поддерживает ли GridGain распределенную блокировку?

Поддерживает ли GridGain распределенную блокировку?

В моем сценарии я хочу добавить распределенную блокировку в свой код и убедиться, что только один узел выполняет код одновременно. Вот пример кода:

final Grid grid = GridGain.start("config/default-config.xml");

GridCache<Object, Object> cache = grid.cache("partitioned_tx"); 

ExecutorService exec = grid.compute().executorService();

//Lock here

for(int i=0;i<100;i++){
   final int index = i;

   exec.submit(new GridRunnable() {
     private static final long serialVersionUID = -8705359518901621360L;

     @Override
     public void run() {
       System.out.println("The task-"+index+" is executed on "+grid.forLocal().node().toString());
     }
   });
}

//unlock here
exec.shutdown();
exec.awaitTermination(0, TimeUnit.MILLISECONDS);

Спасибо, Билл


person biao li    schedule 12.09.2014    source источник


Ответы (1)


Да, GridGain поддерживает распределенные блокировки, а также распределенные транзакции. Ознакомьтесь с документацией по Basic Distributed Locks в руководство по началу работы.

person Dmitriy    schedule 13.09.2014