Domanda

Nel mio codice richiamabile Io uso la segnalazione di notificare più comportamenti finale per un altro thread. Gli oggetti Callable vengono messi in coda con FutureTasks in un esecutore. Essi possono anche essere cancellati dopo essere stati in coda.

Ora, il mio problema è che mi baso sui compiti atleast in fase di avvio per la mia segnalazione al lavoro, ma sembra che l'Esecutore appena salta un compito se è stato contrassegnato come annullato prima ha ottenuto la possibilità di eseguirlo.

Quindi, c'è un modo per GARANZIA che un'attività è sempre avviato, e sempre annullato (da InterruptedException) durante l'esecuzione.

Inoltre, si può controllare se un compito non è stato avviato ma non è riuscito?

È stato utile?

Soluzione

Puoi classe probabilmente sottoclasse FutureTask e sovrascrivere la sua fatto () metodo effettuare la segnalazione. Secondo la documentazione, questo metodo dovrebbe essere chiamato anche se il compito è stato annullato.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top