Gli oggetti thread-safe sono oggetti che consentono l'accesso simultaneo da più thread. La loro implementazione garantisce (ad esempio tramite lockings/synchronzized methods/...) che non entreranno in uno stato non valido. Inoltre, non ci dovrebbero essere perdite di dati.
Gli oggetti non modificabili non possono essere modificati dopo la loro creazione. Quindi: Sì, sono una specie di apolide.
Poiché gli oggetti non modificabili non possono essere modificati, non è necessario il blocco: l'accesso alla lettura degli oggetti è sempre protetto da un thread (quando non si modificano le variabili). Pertanto, i veri oggetti immutabili sono sempre sicuri.
Normalmente gli oggetti senza stato non hanno stato. Gli oggetti immutabili non possono passare a uno stato diverso da quello in cui sono stati creati, quindi hanno esattamente uno stato. –