2016-08-11 4 views
0

Ich muss Cache-Elemente in verschiedenen Threads auf JVM ändern, so muss ich sicher sein, dass alle Elemente in der Reihenfolge und sicher geändert werden. Also dachte ich mir, dass es in Ordnung wäre, wenn der Thread mit dem Cache-Schlüssel eine Sperre erstellt oder erwirbt und sie nach Abschluss der Arbeit freigibt. So ist das:Apache Ignite: Cache-Objekt Sperre Verwendung

if(this.igniteCache.lock(k).tryLock()){ 
       try { 
        if(this.igniteCache.containsKey(k)){ 
         List value=this.igniteCache.get(k); 
         value.addAll(v); 
         this.igniteCache.put(k, value); 
        } 
      } finally{ 
       this.igniteCache.lock(k).unlock(); 
      } 

     } 

Also meine Frage ist: Ist es klug, diese Muck-Lock-Elemente zu erstellen? Gibt es erhebliche Kosten auf der Speicher- oder Netzwerkseite?

Oder können Sie mich darauf hinweisen, wenn es andere Wege gibt?

Thx

Antwort