Articles of multithreading

Cos’è un mutex?

Un mutex è un concetto di programmazione che viene spesso utilizzato per risolvere problemi di multi-threading. La mia domanda alla comunità: Cos’è un mutex e come lo usi?

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 […]

Le letture e le scritture in C ++ di un Atomic int?

Ho due thread, uno che aggiorna un int e uno che lo legge. Questo è un valore statistico in cui l’ordine delle letture e delle scritture è irrilevante. La mia domanda è, devo comunque sincronizzare l’accesso a questo valore multi-byte? In altre parole, una parte della scrittura può essere completata e interrotta, quindi la lettura […]

Thread.stop () – deprecato

Perché Thread.stop() deprecato in Java? Sul loro sito web, vedo quanto segue: Perché Thread.stop è deprecato? Perché è intrinsecamente pericoloso. L’interruzione di un thread lo fa sbloccare tutti i monitor che ha bloccato. (I monitor sono sbloccati poiché l’eccezione ThreadDeath propaga nello stack.) Se uno qualsiasi degli oggetti precedentemente protetti da questi monitor si trovava […]

Come creare thread in nodejs

C’è un modo per creare thread per l’esecuzione di più metodi alla volta. Se qualsiasi metodo fallisce tra tutti gli altri thread dovrebbe essere ucciso. Grazie in anticipo

Come avviare due thread in “esattamente” allo stesso tempo

I thread dovrebbero iniziare alla stessa frazione di secondo. Capisco, se fai thread1.start() , ci vorranno alcuni millisecondi prima della prossima esecuzione di thread2.start() . È persino ansible o imansible?

Esempio di mutex / tutorial?

Sono nuovo nel multithreading e stavo cercando di capire come funzionano i mutex. Ho fatto un sacco di ricerche su google e ho trovato un tutorial decente , ma ha lasciato alcuni dubbi su come funziona, perché ho creato il mio programma in cui il blocco non funzionava. Una syntax assolutamente non intuitiva del mutex […]

Thread Start con parametri

Come si avvia una discussione con parametri in C #?

Come attendere la cancellazione di un BackgroundWorker?

Considera un metodo ipotetico di un object che fa cose per te: public class DoesStuff { BackgroundWorker _worker = new BackgroundWorker(); … public void CancelDoingStuff() { _worker.CancelAsync(); //todo: Figure out a way to wait for BackgroundWorker to be cancelled. } } Come si può aspettare che un BackgroundWorker sia fatto? In passato le persone hanno […]

È considerato accettabile non chiamare Dispose () su un object Task TPL?

Voglio triggersre un’attività per l’esecuzione su un thread in background. Non voglio aspettare il completamento delle attività. In .net 3.5 avrei fatto questo: ThreadPool.QueueUserWorkItem(d => { DoSomething(); }); In .net 4 il TPL è il modo suggerito. Il modello comune che ho visto consigliato è: Task.Factory.StartNew(() => { DoSomething(); }); Tuttavia, il metodo StartNew() restituisce […]