Suche…


Syntax

  • objectToSynchronizeOn.synchronized { /* code to run */}
  • synchronized {/* code to run, can be suspended with wait */}

für ein Objekt synchronisieren

synchronized ist ein einfaches Parallelitätskonstrukt auf niedriger Ebene, mit dem verhindert werden kann, dass mehrere Threads auf dieselben Ressourcen zugreifen. Einführung in die JVM unter Verwendung der Java-Sprache .

anInstance.synchronized {
  // code to run when the intristic lock on `anInstance` is acquired
  // other thread cannot enter concurrently unless `wait` is called on `anInstance` to suspend
  // other threads can continue of the execution of this thread if they `notify` or `notifyAll` `anInstance`'s lock
}

Im Falle von object s synchronisiert es sich möglicherweise mit der Klasse des Objekts, nicht mit der Singleton-Instanz.

implizit auf dieses synchronisieren

 /* within a class, def, trait or object, but not a constructor */
 synchronized {
   /* code to run when an intrisctic lock on `this` is acquired */
   /* no other thread can get the this lock unless execution is suspended with
    * `wait` on `this`
    */
 }


Modified text is an extract of the original Stack Overflow Documentation
Lizenziert unter CC BY-SA 3.0
Nicht angeschlossen an Stack Overflow