Re: Findbugs and locks?



Oops.
Still no bug reports.

import java.io.IOException;
import java.util.concurrent.locks.ReentrantReadWriteLock;
import java.util.concurrent.locks.ReentrantReadWriteLock.WriteLock;

public class SSCCE {

static ReentrantReadWriteLock lockArray[];
static {
lockArray =
new ReentrantReadWriteLock[5];
for (int i=0; i<lockArray.length; i++)
lockArray[i] = new ReentrantReadWriteLock();
}

static void method(int n) throws IOException {

if (n < lockArray.length) {
WriteLock lock = lockArray[n].writeLock();
try {
lock.lock();
// do some disk I/O
} finally {
lock.unlock();
}
}
}

public static void main(String[] args) {

}

}
.