为什么`this.synchronized`而不仅仅是Scala中的`synchronized`?

Iva*_*van 24 multithreading scala synchronized this

在Scala中使用JDBC的示例中,有以下代码:

this.synchronized {
  if (!driverLoaded) loadDriver()
}
Run Code Online (Sandbox Code Playgroud)

为什么this.synchronized而不仅仅是synchronized

Pab*_*dez 42

在scala synchronized中不是关键字,就像在java中一样.

它实际上AnyRef是java的成员,它与scala相当Object.

因此,要回答你的问题,你可以使用synchronized或者this.synchronized,就像你可以做toStringthis.toString.