Articles of multithreading

Perché non è una buona pratica sincronizzare su Boolean?

Il mio architetto lo dice sempre Non sincronizzare mai su Boolean Non sono in grado di capire il motivo e apprezzerei davvero se qualcuno potesse spiegare con un esempio il motivo per cui non è una buona pratica. Codice di esempio di riferimento private Boolean isOn = false; private String statusMessage = “I’m off”; public […]

Avere una serie di attività con solo X in esecuzione alla volta

Diciamo che ho 100 compiti che fanno qualcosa che richiede 10 secondi. Ora voglio correre solo 10 alla volta come quando 1 di quei 10 finisce un altro compito viene eseguito fino a quando tutti sono finiti. Ora ho sempre usato ThreadPool.QueueUserWorkItem() per tale compito, ma ho letto che è una ctriggers pratica farlo e […]

System.Windows.Threading.Dispatcher e WinForms?

System.Windows.Threading.Dispatcher funziona sul thread UI di un’applicazione WinForms ? Se sì, perché? Viene da WindowsBase.dll che sembra essere un componente WPF . In caso contrario, come posso richiamare le unità di lavoro sul thread dell’interfaccia utente? Ho trovato Control.BeginInvoke() , ma sembra maldestro creare un controllo solo per fare riferimento al thread di origine.

Come mettere un compito a dormire (o ritardare) in C # 4.0?

C’è Task.Delay in. NET 4.5 Come posso fare lo stesso in .NET 4.0?

I thread C # sono sicuri?

In particolare Crea una funzione per prendere un array e un indice come parametri. Crea un array di elementi. Crea un ciclo di conteggio. All’interno del ciclo su una nuova discussione assegnare una nuova istanza dell’object alla matrice usando l’indicizzatore passato. So come gestire i thread ecc. Mi interessa sapere se questo è un modo […]

Come uccidere un thread istantaneamente in C #?

Sto usando il thread.Abort Metodo thread.Abort per uccidere il thread, ma non funziona. C’è un altro modo per terminare il thread? private void button1_Click(object sender, EventArgs e) { if (Receiver.IsAlive == true) { MessageBox.Show(“Alive”); Receiver.Abort(); } else { MessageBox.Show(“Dead”); Receiver.Start(); } } Sto usando questo, ma ogni volta che ottengo lo stato di Alive , […]

std :: thread passa per riferimento chiama costruttore copia

Bene, ho un problema con il passaggio di dati in un thread usando std :: thread. Pensavo di aver capito la semantica generale dei costruttori di copie, ecc. Ma sembra che non capisco del tutto il problema. Ho una semplice class chiamata Log che ha nascosto il suo costruttore di copie in questo modo: class […]

Filettatura barra di avanzamento MVC

Sto utilizzando un pattern MVC per il mio progetto, quando un utente preme il pulsante di ricerca, chiamo una ricerca nel modello, ma voglio anche aggiornare una barra di avanzamento con le informazioni restituite da quel modello. Ho provato a utilizzare un oscillatore, ma la barra di avanzamento non si aggiorna. Sospetto che stia facendo […]

Perché il distruttore di un futuro è restituito dal blocco `std :: async`?

Quando ho provato a rispondere a un’altra domanda StackOverflow , mi sono reso conto che questo semplice snippet di C ++ 11 blocca implicitamente il thread chiamante: std::async(std::launch::async, run_async_task) Per me questo sarebbe sembrato il modo canonico di C ++ 11 per avviare un’attività in modo asincrono senza preoccuparsi del risultato. Invece, è necessario creare […]

Blocco doppio controllo Java

Mi è capitato di leggere un articolo che parlava di recente del modello di blocco a doppia verifica in Java e delle sue insidie ​​e ora mi chiedo se una variante di quel modello che uso da anni sia soggetta a problemi. Ho esaminato molti post e articoli sull’argomento e ho compreso i potenziali problemi […]