Ho un LockManager che gestisce i blocchi di più thread. A volte i thread sono cattivi ragazzi, e devo ucciderli e chiedo al LockManager di rilasciare tutti i loro lucchetti. Tuttavia, dal momento che utilizzo ReentrantLock in java è impossibile, non riesco a sbloccare un blocco di proprietà di un altro thread.Unlocking lock di proprietà di un altro thread java
Sono costretto a utilizzare i blocchi (non è possibile utilizzare i semafori, è il punto dei compiti). Esiste un'implementazione di Java Lock che mi consenta di sbloccare blocchi di proprietà di altri thread?
Finora le opzioni che ho considerate sono:
- ri-attuazione ReentrantLock in un modo che mi permette di fare questo
- fare una sorta di mappatura tra semafori e ReentrantLocks
Extra Fonti che potresti trovare utili:
- Reentrant locks - Unlocking from another thread
- Unlocking a lock from a thread which doesn't own it, or redesigning to avoid this?
Sì, sono autorizzato ad usare il mio lucchetto e grazie! Il mio compagno e io abbiamo effettivamente implementato la nostra versione che simula l'interfaccia LOCK usando i semafori. –
Non riesco a vedere come questa implementazione kes thread che stanno aspettando sul lock precedente ... –
@GerardoLastra - * Purtroppo non si occupa ancora delle serrature che vengono lasciate penzolare ma che ora diventa il problema di qualcun altro. * – OldCurmudgeon