Articles of multithreading

Creare un thread in DllMain?

Sembra che quando un thread viene creato da DllMain su DLL_PROCESS_ATTACH , non inizierà fino a quando tutte le DLL non saranno state caricate. Poiché devo assicurarmi che il thread venga eseguito prima di continuare, ottengo un deadlock. C’è un modo per forzare l’avvio del thread?

Come mettere in pausa e quindi riprendere una discussione?

Premetto che ho letto di thread, ma non l’ho mai usato. Quindi ti chiedo 🙂 Ho due thread: A e B , dove A gestisce la GUI e B gestisce la logica. Vorrei iniziare con A Quindi, quando A disegna la GUI, la metterei in pausa, aspettare B che raggiunga un punto X nel metodo […]

Thread C ++, std :: system_error – operazione non consentita?

Così ho scritto un programma per testare i thread su 64 bit kubuntu linux, versione 13.04. In realtà ho rubato il codice da qualcun altro che stava scrivendo un programma di test. #include #include #include void task1(const std::string msg) { std::cout << "task1 says: " << msg << std::endl; } int main(int argc, char **argv) […]

Come aggiornare la casella di testo sulla GUI da un altro thread

Sono nuovo con C # e sto cercando di fare una semplice applicazione di chat client server. Ho RichTextBox sul mio modulo Windows client e sto cercando di aggiornare quel controllo dal server che si trova in un’altra class. Quando provo a farlo, viene visualizzato l’errore: “Operazione cross-thread non valida: control textBox1 accessibile da un […]

Aggiornamento di ObservableCollection in un thread separato

In un’applicazione WPF, ObservableCollection viene riempito e aggiornato da LINQ a query SQL. Quindi gli oggetti dell’interfaccia utente vengono aggiornati utilizzando i valori di questa ObservableCollection. È ansible e ragionevole che le operazioni di aggiornamento di questa ObservableCollection da LINQ a query SQL siano state eseguite in un thread separato? Se sì, sarà, in questo […]

Thread Control.Invoke

Ho una funzione public void ShowAllFly() { cbFly.Items.Clear(); cbFly.Items.Add(“Uçuş Seçiniz…”); dsFlyTableAdapters.tblFlyTableAdapter _t=new KTHY.dsFlyTableAdapters.tblFlyTableAdapter(); dsFly _mds = new dsFly(); _mds.EnforceConstraints = false; dsFly.tblFlyDataTable _m = _mds.tblFly; _t.Fill(_m); foreach (DataRow _row in _m.Rows) { cbFly.Items.Add(_row[“FlyID”].ToString()+”-“+_row[“FlyName”].ToString() + “-” + _row[“FlyDirection”].ToString() + “-” + _row[“FlyDateTime”].ToString()); } _Thread.Abort(); timer1.Enabled = false; WaitPanel.Visible = false; } In Form_Load Function come questo; […]

Il thread dell’operatore ++ è sicuro?

NOTA: Non sono molto bravo con la programmazione multithread, ma il mio progetto attuale mi ha fatto in modo che stia cercando di capire cosa è thread-safe e cosa no. Stavo leggendo una delle fantastiche risposte di Eric Lippert su ciò che fa ++ . Dice che questo è ciò che realmente accade: x viene […]

Specifiche Java EE e multi-threading

Sto scrivendo un’applicazione Java EE usando Struts e Spring. In una delle operazioni c’è un’elaborazione del database pesante e quindi problemi di prestazioni. Quello che voglio sapere è che posso usare il multithreading qui? Penso che le specifiche Java EE non permettano di creare thread personalizzati a parte quelli creati da Server (io uso Weblogic). […]

Come creare un’attività (TPL) che esegue un thread STA?

Usare Thread è piuttosto semplice Thread thread = new Thread(MethodWhichRequiresSTA); thread.SetApartmentState(ApartmentState.STA); Come realizzare lo stesso usando Task in un’applicazione WPF? Ecco un codice: Task.Factory.StartNew ( () => {return “some Text”;} ) .ContinueWith(r => AddControlsToGrid(r.Result)); Sto ottenendo un InvalidOperationException con Il thread chiamante deve essere STA, poiché molti componenti dell’interfaccia utente richiedono questo.

Dovrei usare istanze separate di ScriptEngine e CompiledScript per ogni thread?

Il mio programma utilizza l’API di scripting Java e può valutare contemporaneamente alcuni script. Non usano oggetti script condivisi, binding o Context, ma possono usare gli stessi oggetti ScriptEngine e CompiledScript . Vedo che l’implementazione di Oracle Nashorn in Java 8 non è multithread, ScriptEngineFactory.getParameter(‘THREADING’) restituisce null su cui la documentazione dice: L’implementazione del motore […]