This is the mail archive of the
java@gcc.gnu.org
mailing list for the Java project.
Double checked locking and GCJ?
- From: Martin Egholm Nielsen <martin at egholm-nielsen dot dk>
- To: java at gcc dot gnu dot org
- Date: Tue, 28 Jun 2005 12:25:20 +0200
- Subject: Double checked locking and GCJ?
Hi there,
Sorry for bringing up what may be the most tedious thread ever. But does
"double checked locking" work with GCJ:
// Works with acquire/release semantics for volatile
// Broken under current semantics for volatile
class Foo {
private volatile Helper helper = null;
public Helper getHelper() {
if (helper == null) {
synchronized(this) {
if (helper == null)
helper = new Helper();
}
}
return helper;
}
}
(From:
http://www.cs.umd.edu/~pugh/java/memoryModel/DoubleCheckedLocking.html)
BR,
Martin Egholm