Articles of thread safety

Quali metodi dei componenti di Swing sono thread-safe?

Secondo il tutorial di Swing : Alcuni metodi del componente Swing sono etichettati come “thread safe” nella specifica API; questi possono essere tranquillamente richiamati da qualsiasi thread. Tutti gli altri metodi del componente Swing devono essere richiamati dal thread di invio dell’evento. I programmi che ignorano questa regola potrebbero funzionare correttamente la maggior parte del […]

Perché le variabili locali sono thread safe in Java

Stavo leggendo il multi-threading in Java e mi sono imbattuto in questo Le variabili locali sono thread-safe in Java. Da allora ho pensato come / perché le variabili locali sono thread-safe. Qualcuno può, per favore, farmelo sapere.

Collezione osservabile veloce e filiforms

Notifiche di aumento di ObservableCollection per ogni azione eseguita su di esse. In primo luogo non hanno bulk aggiungere o rimuovere le chiamate, in secondo luogo non sono thread-safe. Questo non li rende più lenti? Non possiamo avere un’alternativa più veloce? Alcuni dicono che ICollectionView avvolto attorno a una ObservableCollection è veloce? Quanto è vera […]

Le variabili statiche di funzione sono thread-safe in GCC?

Nel codice di esempio void foo() { static Bar b; … } compilato con GCC è garantito che b verrà creato e inizializzato in modo thread-safe? Nella pagina man di gcc, trova l’opzione della riga di comando -fno-threadsafe-statics : Non emettere il codice aggiuntivo per utilizzare le routine specificate nell’ABI C ++ per l’inizializzazione thread-safe […]

Dovremmo utilizzare EventQueue.invokeLater per qualsiasi aggiornamento della GUI in un’applicazione desktop Java?

So che utilizzando questo metodo, il parametro runnable viene inviato al sistema EventQueue. Ma tutti gli aggiornamenti della GUI dovrebbero essere eseguiti con questo metodo? Voglio dire, se voglio dire, cambiare un testo di JButton, dovrei usare qualcosa del genere: java.awt.EventQueue.invokeLater(new Runnable() { public void run() { jButton1.setText(“changed text”); } }); Se dovessi usare questo […]

Std :: vector o boost :: vector thread safe?

Ho più thread contemporaneamente chiamando push_back() su un object condiviso di std::vector . std::vector thread safe? O devo implementare personalmente il meccanismo per renderlo sicuro? Voglio evitare di fare un lavoro extra di “blocco e liberazione” perché sono un utente della biblioteca piuttosto che un progettista di librerie. Spero di cercare soluzioni thread-safe esistenti per […]

Sta iterando i valori di ConcurrentHashMap thread safe?

In javadoc per ConcurrentHashMap è il seguente: Le operazioni di recupero (incluso get) generalmente non si bloccano, quindi potrebbero sovrapporsi alle operazioni di aggiornamento (incluse le operazioni di inserimento e rimozione). Recuperati riflettono i risultati delle operazioni di aggiornamento completate più recentemente che mantengono il loro esordio. Per operazioni di aggregazione come putAll e clear, […]

Istruzioni SSE: quali CPU possono eseguire operazioni di memoria atomica a 16B?

Considerare un’istruzione SSE a singola memoria (a lettura singola o singola scrittura, non lettura + scrittura) su una CPU x86. L’istruzione accede a 16 byte (128 bit) di memoria e la posizione di memoria accessibile è allineata a 16 byte. Il documento “White paper di ordinazione della memoria di architettura Intel® 64” afferma che per […]

I thread C # sono sicuri?

In particolare Crea una funzione per prendere un array e un indice come parametri. Crea un array di elementi. Crea un ciclo di conteggio. All’interno del ciclo su una nuova discussione assegnare una nuova istanza dell’object alla matrice usando l’indicizzatore passato. So come gestire i thread ecc. Mi interessa sapere se questo è un modo […]

Thread multitons sicuri in Java

Data la seguente multiton: public class Multiton { private static final Multiton[] instances = new Multiton[…]; private Multiton(…) { //… } public static Multiton getInstance(int which) { if(instances[which] == null) { instances[which] = new Multiton(…); } return instances[which]; } } Come possiamo mantenerlo thread-safe e pigro senza la costosa sincronizzazione del metodo getInstance () e […]