为什么在 Scala 中使用“this.synchronized”而不是“synchronized”?
在 Scala 中使用 JDBC 的示例中,有以下代码:
this.synchronized {
if (!driverLoaded) loadDriver()
}
为什么 this.synchronized
而不仅仅是 synchronized
?
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
?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
在 scala 中,
synchronized
不是关键字,就像在 java 中一样。它实际上是
AnyRef
的成员,即scala 相当于 java 的Object
。因此,要回答您的问题,您可以使用
synchronized
或this.synchronized
,就像您可以使用toString
或this.toString 一样
。In scala
synchronized
is not a keyword, as in java.It is in fact a member of
AnyRef
, which is scala equivalent for java'sObject
.So to answer your question, you can either use
synchronized
orthis.synchronized
, just as you can dotoString
orthis.toString
.