Originariamente inviato da Hysoka
non c'è qualcosa che in pseudo codice divenda:
IF is Not Locked(myList) THEN
...
ELSE YIELD
Occhio a una cosa: un lock è acquisito dal thread che è entrato in un metodo/blocco synchronized. Quindi tu vuoi verificare se è acquisito da chi??

Esiste il metodo public static boolean holdsLock(Object obj) di Thread (solo da Java 1.4) ma testa solo se il thread corrente ha acquisito il lock su quell'oggetto. E questo metodo lo si usa tipicamente per questioni di testing con le asserzioni, non per fare quello che pensavi.

Comunque, molto probabilmente, l'uso di un lock intrinseco non è la cosa migliore da usare per quello che forse pensavi di fare. Ma non posso dire di più perché non ho ben chiaro cosa vuoi fare e perché.