Articles of multithreading

Quanti compiti sono troppi?

Attualmente sto lavorando a un’applicazione che si basa su molti servizi Web diversi per ottenere dati. Dal momento che desidero modularizzare ciascun servizio e avere un po ‘di dipendenza (il servizio1 deve essere eseguito prima dei servizi 2 e 3, ecc.), Eseguo ciascun servizio nella sua attività. I compiti stessi sono entrambi funzionando triggersmente, nel […]

Avvio di una discussione con / senza delegate ()

Qual è la differenza tra: new Thread(new ThreadStart(SomeFunc)) e: new Thread( delegate() { SomeFunc();} ) Questo codice fornisce strani output sul mio computer: public class A { int Num; public A(int num) { Num = num; } public void DoObj(object obj) { Console.Write(Num); } public void Do() { Console.Write(Num); } } /////// in void main() […]

Bloccare le proprietà, buon approccio?

Nella mia applicazione multithreading sto usando alcune variabili che possono essere modificate da molte istanze nello stesso tempo. È strano ma ha funzionato bene senza alcun problema..ma ovviamente ho bisogno di renderlo thread-safe. Sto solo cominciando con le serrature quindi approverò il tuo consiglio: Quando il client si connette, viene creato il client di class […]

Transazione di Entity Framework con più thread

Ho un’applicazione che esegue più thread. I thread NON condividono un ObjectContext (ogni thread ha il suo), so che non sono thread-safe). Tuttavia, i thread funzionano tutti in una transazione condivisa. Il thread originale crea un TransactionScope e ogni thread generato genera un TransactionScope utilizzando DependentTransaction dalla Transaction sul thread principale. Quando più richieste ObjectContext […]

Delegati multicast asincroni

Ultimamente ho lavorato un po ‘su un progetto che fa ampio uso di eventi. Una delle cose che devo fare è chiamare in modo asincrono più gestori di eventi su un delegato multicast. Ho pensato che il trucco sarebbe stato di chiamare BeginInvoke su ogni object da GetInvocationList, ma sembra come se BeginInvoke non esistesse […]

C # Multi threading: sposta gli oggetti tra i thread

Sto lavorando con un controllo winforms che è sia un elemento GUI che anche un processo interno che non è stato esposto allo sviluppatore. Quando questo componente viene istanziato, potrebbero essere necessari dai 5 ai 15 secondi per essere pronti, quindi quello che voglio fare è metterlo su un altro thread e quando viene fatto […]

Perché alcuni oggetti non sono accessibili da thread diversi?

Ho incontrato questo problema più volte durante lo sviluppo in C #. Sarò una felice codifica, passando oggetti tra i fili e cosa no, poi all’improvviso ottengo questo errore familiare: “Il thread chiamante non può accedere a questo object perché lo possiede un thread diverso.” Bene, ok, l’ho già affrontato, specialmente con gli oggetti sul […]

Scalabilità di codice parallelo scadente

Recentemente ho analizzato come i miei calcoli paralleli effettivamente accelerino sul processore a 16 core. E la formula generale che ho concluso – più thread hai meno velocità per core che ottieni – mi imbarazza. Ecco i diagrammi del mio carico della CPU e della velocità di elaborazione: Quindi, puoi vedere che il carico del […]

BackgroundWorker e discussioni

Quali sono i pro e i contro nell’uso di entrambi per il raggiungimento di un determinato compito. La domanda da un milione di dollari è quale usare e quando? Grazie molto.

ASP.NET MVC Multi-Threading, ne vale la pena?

Sono un po ‘confuso, la mia app ASP.NET MVC sarà ospitata su un server, quindi non vi è alcun punto nel renderlo multi-threaded? Ad esempio, se voglio che un thread esegua le mie traduzioni, è una buona idea? Qualcuno può elaborarmi questo per favore? Sono un po ‘confuso con le applicazioni web multi-threading rispetto alle […]