Articles of multithreading

Codice per un pool di thread semplice in C #

Alla ricerca di un codice di esempio (C #) per una semplice implementazione del pool di thread. Ne ho trovato uno su codeproject, ma il codebase era enorme e non ho bisogno di tutte quelle funzionalità. Questo è più per scopi educativi comunque.

Redis + ActionController :: I thread live non stanno morendo

Background: abbiamo creato una funzione di chat in una delle nostre applicazioni Rails esistenti. Stiamo utilizzando il nuovo modulo ActionController::Live ed eseguiamo Puma (con Nginx in produzione) e ci iscriviamo ai messaggi tramite Redis. Stiamo utilizzando il lato client EventSource per stabilire la connessione in modo asincrono. Riepilogo dei problemi: i thread non muoiono mai […]

Soluzione alternativa per il limite di handle WaitHandle.WaitAll 64?

La mia applicazione genera un sacco di diversi thread di piccoli operatori tramite ThreadPool.QueueUserWorkItem cui tengo traccia tramite più istanze di ManualResetEvent . Uso il metodo WaitHandle.WaitAll per bloccare la chiusura della mia applicazione fino al completamento di questi thread. Non ho mai avuto problemi prima, tuttavia, dato che la mia applicazione sta subendo un […]

Quando dovrei usare un CompletionService su un ExecutorService?

Ho appena trovato CompletionService in questo post del blog . Tuttavia, questo non mostra davvero i vantaggi di CompletionService su un ExecutorService standard. Lo stesso codice può essere scritto con entrambi. Quindi, quando è utile un CompletionService? Puoi dare un esempio di codice corto per renderlo cristallino? Ad esempio, questo esempio di codice mostra solo […]

È ansible determinare il thread che contiene un mutex?

In primo luogo, uso la libreria pthread per scrivere il programma C multithreading. I fili erano sempre appesi ai loro mutex attesi. Quando uso l’utilità strace per trovare una discussione è nello stato FUTEX_WAIT , voglio sapere quale thread tiene quel mutex al momento. Ma non so come potrei farcela. Ci sono programmi di utilità […]

Distinguere tra thread Java e thread del sistema operativo?

Come faccio a distinguere tra thread Java e thread nativi in ​​esecuzione? In Linux ci sarà il processo genitore per ogni processo figlio, e dicono che 0 è il genitore di tutto il processo, ci sarà un thread padre di tutti i thread Java biforcati? Come faccio a sapere quale thread Java è correlato al […]

Cosa fa SynchronizationContext?

Nel libro Programming C #, ha qualche codice di esempio su SynchronizationContext : SynchronizationContext originalContext = SynchronizationContext.Current; ThreadPool.QueueUserWorkItem(delegate { string text = File.ReadAllText(@”c:\temp\log.txt”); originalContext.Post(delegate { myTextBox.Text = text; }, null); }); Sono un principiante nelle discussioni, quindi per favore rispondi in dettaglio. Innanzitutto, non so cosa significhi il contesto, cosa salva il programma in the […]

Perché l’object di blocco deve essere statico?

È molto comune utilizzare un object readonly statico privato per il blocco in multi threading. Capisco che privato riduca i punti di accesso all’object bloccante stringendo l’incapsulamento e quindi l’accesso al più essenziale. Ma perché statico? private static readonly object Locker = new object(); Alla fine il campo è usato solo all’interno della mia class, […]

Come faccio a scegliere tra i vari modi di fare il threading in Delphi?

Sembra che finalmente ho dovuto implementare una sorta di threading nel mio programma Delphi 2009. Se ci fosse solo un modo per farlo, sarei libero e funzionante. Ma vedo diverse possibilità. Qualcuno può spiegare qual è la differenza tra questi e perché sceglierei l’uno rispetto all’altro. La class TThread in Delphi AsyncCalls di Andreas Hausladen […]

L’utilizzo di HttpContext.Current in WebApi è pericoloso a causa di async

La mia domanda è un po ‘correlata a questo: equivalente WebApi per HttpContext.Items con Dependency Injection . Vogliamo iniettare una class usando HttpContext.Current nell’area WebApi usando Ninject. La mia preoccupazione è che questo potrebbe essere molto pericoloso , come in WebApi ( tutto? ) È asincrono. Per favore correggimi se ho torto in questi punti, […]