Why `this.synchronized` instead of just `synchronized` in Scala?

Ivan picture Ivan · Oct 19, 2011 · Viewed 9.8k times · Source

In an example of working with JDBC in Scala, there is a following code:

this.synchronized {
  if (!driverLoaded) loadDriver()
}

Why this.synchronized instead of just synchronized?

Answer

Pablo Fernandez picture Pablo Fernandez · Oct 19, 2011

In scala synchronized is not a keyword, as in java.

It is in fact a member of AnyRef, which is scala equivalent for java's Object.

So to answer your question, you can either use synchronized or this.synchronized, just as you can do toString or this.toString.