Qual è la differenza tra thread- awareness e thread- sicurezza?Qual è la differenza tra thread-aware e thread-safe?
risposta
cortesia http://sreekalyan.blogspot.com/2007/01/thread-safe-and-thread-aware.html
filettatura Aware In qualsiasi momento, al massimo un filo può essere attivo sull'oggetto. L'oggetto è consapevole dei thread che lo circondano e si protegge dai thread mettendo tutti i thread in una coda. Dal momento che può esistere solo un singolo thread attivo sull'oggetto in un dato momento, l'oggetto conserverà sempre il suo stato. Non ci saranno problemi di sincronizzazione.
Thread safe: In un dato momento, più thread possono essere attivi sull'oggetto. L'oggetto sa come gestirli. Ha correttamente sincronizzato l'accesso alle sue risorse condivise. Può conservare i suoi dati di stato in questo ambiente multi-thread (cioè non cadrà in stati intermedi e/o indeterminati). È sicuro usare questo oggetto in un ambiente multi-thread.
L'utilizzo di un oggetto che non è né thread-aware né thread-safe può provocare l'ottenimento di dati casuali e non corretti e di eccezioni misteriose (a causa del tentativo di accedere all'oggetto quando viene utilizzato da un thread ed è instabile, stato intermedio al momento dell'accesso del secondo thread).
Credo che una funzione che esegue la propria serializzazione di mutex di blocco sia sicura per i thread, ma forse non thread aware.
- 1. Qual è la differenza tra = e: =
- 2. Qual è la differenza tra Verilog! e ~?
- 3. Qual è la differenza tra? : e ||
- 4. qual è la differenza tra [[], []] e [[]] * 2
- 5. Qual è la differenza tra $ e $$?
- 6. Qual è la differenza tra ("") e (null)
- 7. Qual è la differenza tra dict() e {}?
- 8. Qual è la differenza tra " " e ""?
- 9. Qual è la differenza tra {0} e ""?
- 10. Qual è la differenza tra `##` e `hashCode`?
- 11. Qual è la differenza tra {0} e +?
- 12. Qual è la differenza tra .ToString() e + ""
- 13. qual è la differenza tra:.! e: r !?
- 14. Qual è la differenza tra "è Nessuno" e "== Nessuno"
- 15. Unix: Qual è la differenza tra la fonte e l'esportazione?
- 16. Qual è la differenza tra il callback e la promessa
- 17. Qual è la differenza tra la sezione .got e .got.plt?
- 18. Qual è la differenza tra la lista() e []
- 19. Qual è la differenza tra GHC e la piattaforma Haskell?
- 20. Qual è la differenza tra sé e la finestra?
- 21. Qual è la differenza tra la cartella vim72 e vimfiles?
- 22. Qual è la differenza tra la serratura e RLock
- 23. Qual è la differenza tra la funzione() {}() e function() {}()
- 24. Qual è la differenza tra la crittografia SHA e AES?
- 25. Qual è la differenza tra la [OptionalField] e [NonSerialized]
- 26. Qual è la differenza tra Chisel e Lava e CLaSH?
- 27. Qual è la differenza tra queste funzioni
- 28. Qual è la differenza tra queste funzioni?
- 29. Qual è la differenza tra Response.Write() eResponse.Output.Write()?
- 30. Qual è la differenza tra applicationDidReceiveMemoryWarning, didReceiveMemoryWarning?