标签: java multithreading synchronized-block
以下是讨论公开呼叫时 java concurrency in practice 一书中的代码段。我没有得到的是setLocation方法的声明方式,它已经被同步并再次在同一个方法中调用synchronized(this)块,为什么呢?是类型错误吗? synchronized方法已经锁定了这个方法,为什么再次为同一个对象?
employeeOps = new EmployeeOperations(this);
答案 0 :(得分:5)
这本书中的错误。见the errata
在代码清单10.6中,Taxi.setLocation不应该是同步方法。 (但是,它身体中的同步块是正确的。)