VAriaveis

// 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?

accessLock.newCondition();
new ReentrantLock();