Articles of thread safety

thread con più parametri

Qualcuno sa come passare più parametri in una routine Thread.Start? Ho pensato di estendere la class, ma la class Thread C # è sigillata. Ecco quello che penso che il codice sarebbe simile: … Thread standardTCPServerThread = new Thread(startSocketServerAsThread); standardServerThread.Start( orchestrator, initializeMemberBalance, arg, 60000); … } static void startSocketServerAsThread(ServiceOrchestrator orchestrator, List memberBalances, string arg, int […]

Come interrompere un thread creato implementando l’interfaccia eseguibile?

Ho creato una class implementando un’interfaccia eseguibile e quindi creato molti thread (quasi 10) in qualche altra class del mio progetto. Come fermare alcuni di questi thread?

Singleton efficiente thread-safe in C ++

Il solito schema per una class singleton è qualcosa di simile static Foo &getInst() { static Foo *inst = NULL; if(inst == NULL) inst = new Foo(…); return *inst; } Tuttavia, è a mia conoscenza che questa soluzione non è thread-safe, dal momento che 1) Il costruttore di Foo potrebbe essere chiamato più di una […]

C ++ nuova sicurezza del thread operatore in linux e gcc 4

Presto comincerò a lavorare su una versione parallela di un algoritmo di rifinitura della mesh usando la memoria condivisa. Un professore all’università ha sottolineato che dobbiamo fare molta attenzione alla sicurezza dei thread perché né il compilatore né lo stl sono consapevoli del thread. Ho cercato questa domanda e la risposta dipendeva dal compilatore (alcuni […]

Stampa dispari di numero pari mediante thread

Stampa dispari di numero pari utilizzando thread.Creare una class thread, due istanze del thread. Uno stamperà il numero dispari e l’altro stamperà il numero pari. Ho fatto la seguente codifica. Ma arriva allo stato di blocco morto. Qualcuno può spiegare quale potrebbe essere la ragione di ciò? public class NumberPrinter implements Runnable{ private String type; […]

Throttling javafx gui updates

Ricevo oggetti dati in momentjs casuali ad alta frequenza e devo aggiornare la GUI JavaFX con questi. Tuttavia, non voglio riempire la coda degli eventi javafx con un numero molto elevato di runnables (io uso Platform.RunLater). Ho pensato a come implementare al meglio un algoritmo di limitazione. Sarebbe meglio avere un thread GUIUpdater separato che […]

Perché ho bisogno di una barriera di memoria?

C # 4 in a Nutshell (altamente consigliato btw) utilizza il seguente codice per dimostrare il concetto di MemoryBarrier (supponendo che A e B fossero eseguiti su thread diversi): class Foo{ int _answer; bool complete; void A(){ _answer = 123; Thread.MemoryBarrier(); // Barrier 1 _complete = true; Thread.MemoryBarrier(); // Barrier 2 } void B(){ Thread.MemoryBarrier(); […]

Int è volatile in Java thread-safe?

Int è volatile in Java thread-safe? Cioè, può essere tranquillamente letto e scritto senza bloccare?

RxJava Schedulers Use Case

In RxJava ci sono 5 diversi programmatori tra cui scegliere: immediate () : crea e restituisce uno Scheduler che esegue immediatamente il lavoro sul thread corrente. trampoline () : crea e restituisce un programma di pianificazione che le code funzionano sul thread corrente da eseguire dopo il completamento del lavoro corrente. newThread () : crea […]

Vettore STL e sicurezza del filo

Diciamo che ho un vettore di elementi N, ma fino a n elementi di questo vettore hanno dati significativi. Un thread di aggiornamento aggiorna l’ennesimo n + 1 ° elemento (quindi imposta n = n + 1), controlla anche se n è troppo vicino a N e chiama vector :: ridimensiona (N + M) se […]