Il multi-threading è la capacità di un computer o di un programma di eseguire lavori contemporaneamente o in modo asincrono utilizzando più flussi di esecuzione simultanei (generalmente chiamati thread).
Vedo molte persone nei post del blog e qui su SO che evitano o sconsigliano l'uso della Threadclasse nelle versioni recenti di C # (e intendo ovviamente 4.0+, con l'aggiunta di Task& friends). Anche prima, c'erano dibattiti sul fatto che la funzionalità di un semplice vecchio thread può essere sostituita …
La mia domanda si riferisce a questa domanda posta in precedenza. Nelle situazioni in cui sto utilizzando una coda per la comunicazione tra i thread del produttore e del consumatore, le persone generalmente consigliano di utilizzare LinkedBlockingQueueo ConcurrentLinkedQueue? Quali sono i vantaggi / svantaggi dell'utilizzo dell'uno rispetto all'altro? La differenza …
È molto comune utilizzare un oggetto di sola lettura statico privato per il blocco nel multi threading. Capisco che privato riduce i punti di ingresso all'oggetto di blocco stringendo l'incapsulamento e quindi l'accesso al più essenziale. Ma perché statico? private static readonly object Locker = new object(); Alla fine il …
Ho sempre avuto l'impressione che l'utilizzo di ThreadPool per (diciamo non critici) attività in background di breve durata fosse considerata una best practice, anche in ASP.NET, ma poi mi sono imbattuto in questo articolo che sembra suggerire il contrario: il l'argomento è che dovresti lasciare ThreadPool per gestire le richieste …
Qualche tempo fa sono incappato in node.js e mi piace molto. Ma presto ho scoperto che non aveva la capacità di eseguire attività che richiedono molta CPU. Quindi, ho iniziato a cercare su Google e ho ottenuto queste risposte per risolvere il problema: Fibre, Webworkers e Thread (thread-a-gogo). Ora quale …
Come posso uscire da un ciclo parallel.for ? Ho un'affermazione piuttosto complessa che assomiglia alla seguente: Parallel.ForEach<ColorIndexHolder>(ColorIndex.AsEnumerable(), new Action<ColorIndexHolder>((ColorIndexHolder Element) => { if (Element.StartIndex <= I && Element.StartIndex + Element.Length >= I) { Found = true; break; } })); Usando la classe parallela, posso ottimizzare questo processo di gran lunga. …
Ho sperimentato il multi threading e l'elaborazione parallela e avevo bisogno di un contatore per eseguire un conteggio di base e un'analisi statistica della velocità dell'elaborazione. Per evitare problemi con l'uso simultaneo della mia classe ho usato un'istruzione lock su una variabile privata nella mia classe: private object mutex = …
Prima di tutto vorrei dire che ho molta esperienza con Java, ma solo di recente mi sono interessato ai linguaggi funzionali. Recentemente ho iniziato a guardare Scala, che sembra un linguaggio molto carino. Tuttavia, ho letto del framework degli attori di Scala in Programming in Scala , e c'è una …
Quando Thread.sleep di Java genera InterruptException? È sicuro ignorarlo? Non sto facendo alcun multithreading. Voglio solo aspettare qualche secondo prima di ritentare qualche operazione.
Uno dei miei metodi ( Method1) genera un nuovo thread. Quel thread esegue un metodo ( Method2) e durante l'esecuzione viene generata un'eccezione. Ho bisogno di ottenere le informazioni sull'eccezione sul metodo chiamante ( Method1) C'è un modo in cui posso catturare questa eccezione in Method1quanto viene lanciata Method2?
Come tutti sappiamo, molte app Android visualizzano una schermata bianca molto brevemente prima che la loro prima Activityvenga messa a fuoco. Questo problema si osserva nei seguenti casi: App Android che estendono la Applicationclasse globale e vi eseguono importanti inizializzazioni. L' Application oggetto viene sempre creato prima del primo Activity(un …
Vorrei parallelizzare il mio programma Python in modo che possa utilizzare più processori sulla macchina su cui viene eseguito. La mia parallelizzazione è molto semplice, in quanto tutti i "thread" paralleli del programma sono indipendenti e scrivono il loro output su file separati. Non ho bisogno dei thread per scambiare …
We use cookies and other tracking technologies to improve your browsing experience on our website,
to show you personalized content and targeted ads, to analyze our website traffic,
and to understand where our visitors are coming from.
By continuing, you consent to our use of cookies and other tracking technologies and
affirm you're at least 16 years old or have consent from a parent or guardian.