Nella programmazione di computer, thread-safe descrive una porzione di programma o una routine che può essere chiamata da più thread di programmazione senza interazioni indesiderate tra i thread. (Un thread è un'istanza del programma in esecuzione per conto di un utente o processo.) La sicurezza dei thread è di particolare importanza per i programmatori Java, poiché Java è un linguaggio di programmazione che fornisce supporto integrato per i thread. Utilizzando routine thread-safe, il rischio che un thread interferisca e modifichi gli elementi di dati di un altro thread viene eliminato aggirando potenziali situazioni di competizione di dati con accesso coordinato ai dati condivisi.
È possibile garantire che una routine sia thread-safe:
- Assicurarsi che i thread simultanei utilizzino algoritmi sincronizzati che cooperano tra loro.
- Limitare l'indirizzo di un oggetto condiviso a un thread ogni volta che è attivo un algoritmo non sincronizzato.