Esiste un modo generale o di uscita di regole con cui possiamo garantire la sicurezza del thread dei metodi statici utilizzati in modo specifico in varie classi di Utility di qualsiasi applicazione. Qui voglio sottolineare in modo specifico la sicurezza del thread delle applicazioni Web.Come garantire la sicurezza del thread del metodo statico di utilità?
È noto che i metodi statici con oggetti immutabili come parametri sono thread-safe e gli oggetti mutabili no.
Se si dispone di un metodo di utilità per alcune manipolazioni di java.util.Date
e tale metodo accetta un'istanza di java.util.Date
, questo metodo non sarebbe thread-safe. Quindi come renderlo thread-safe senza cambiare il modo di passare i parametri?
public class DateUtils {
public static Date getNormalizeDate(Date date) {
// some operations
}
}
Inoltre è possibile modificare la classe javax.faces.context.FacesContext
? È thread-safe passare un'istanza di questa classe a tale metodo di utilità statica?
Questo elenco di classi, le cui istanze possono essere o non possono essere passate come parametri, potrebbe essere lungo; quindi quali punti dovremmo tenere a mente durante la scrittura di codici di tali classi di utilità?
Perché votare e una richiesta di chiusura? È una domanda sbagliata? –
Hai pensato di rendere 'sincronizzato 'questo metodo statico? –
@AndrewLogvinov sì, ho pensato. Ma non voglio rendere sincronizzato un metodo senza sapere perché lo sto facendo. In quali situazioni dovremmo sincronizzare un metodo statico? –