В Java synchronized
ключевое слово на методе в основном синхронизируется на текущем объекте, поэтому в действительности это делает то, что Вы предлагаете выше неявно.
Вы не испытаете проблемы с синхронизацией на одном объекте в одном методе и затем синхронизацией на том же объекте в другом методе, потому что, как Вы говорите, текущий поток уже содержит блокировку на том объекте.
На данный момент не похоже, что есть какие-либо библиотеки GWT, обеспечивающие эту функциональность. В любом случае поддерживать это во всех браузерах невозможно, так как Flash необходим. ZeroClipboard .
Довольно приятная библиотека, чем обертка для функциональности.