// Lock to control synchronization with this buffer
private Lock accessLock = new ReentrantLock();
// conditions to control reading and writing
private Condition canWrite = accessLock.newCondition();
quero saber o que é que estas funcoes retornam
accessLock.newCondition();
new ReentrantLock();
o que é e o que faz esse tipo de varievel lock?