Originariamente inviato da Hysoka
Ad ogni n millsecondi la classe javax.swing.Timer emette un Tick che scatena degli actionPerformed.
Sì, e nota che l'actionPerformed viene invocato nel contesto del EDT e quindi devi cercare di non tenere tu impegnato il thread per troppo tempo.

Originariamente inviato da Hysoka
Voi potete dire: ma perché non usi synchronized per aspettare che la coda si liberi?
Ho necessita di aspettare n millisecs...se poi dopo 3 tick trovo sempre occupato, alla fine userò synchronized...
mi conviene elaborare + elementi della coda che elaborarni 2 o 3 ad ogni tick
Non mi risulta che sia possibile solo verificare se di un oggetto è stato acquisito il lock (conoscendo o no il thread). A parte quel metodo holdsLock che ho citato.

Se usi almeno Java 5 potresti usare i Semaphore o i lock "espliciti" (vedi nei package java.util.concurrent e java.util.concurrent.locks) che offrono anche il timeout (oltre a diverse altre funzionalità). Bisognerebbe solo capire meglio chi sono, dove sono e cosa fanno le varie parti del tuo programma che si "contendono" la esclusività su una certa risorsa (una lista linkata, da quanto dici).

Ripeto ancora che senza sapere esattamente cosa vuoi fare e perché è difficile rispondere ma sopratutto dire se quello che stai cercando di fare ha senso/è valido o no.