見ていると、使い方が違うscala.collection.mutable.SynchronizedStack
ことに気づきましたがsynchronized
、一部のメソッドはsynchronized[this.type]
フォームを使用しています
override def push(elem: A): this.type = synchronized[this.type] { super.push(elem) }
override def pushAll(xs: TraversableOnce[A]): this.type = synchronized[this.type] { super.pushAll(elems) }
といくつかの使用synchronized
フォーム
override def isEmpty: Boolean = synchronized { super.isEmpty }
override def pop(): A = synchronized { super.pop }
違いは何ですか?