Articles of multithreading

Perché Parallel.ForEach è molto più veloce di AsParallel (). ForAll () anche se MSDN suggerisce diversamente?

Ho fatto alcune ricerche per vedere come possiamo creare un’applicazione multithread che passa attraverso un albero. Per scoprire come questo può essere implementato nel modo migliore ho creato un’applicazione di test che attraversa il mio C: \ disk e apre tutte le directory. class Program { static void Main(string[] args) { //var startDirectory = @”C:\The […]

Quando un thread Java raggiunge lo stato “Die”

In Java, Die è uno degli stati di una discussione. Cosa fa sì che un thread entri in questo stato?

Il programma si blocca se il thread viene creato nel blocco di inizializzazione statico

Mi sono imbattuto in una situazione in cui il mio programma si blocca, sembra una situazione di stallo. Ma ho provato a capirlo con jconsole e visualvm, ma non hanno rilevato alcun deadlock. Codice d’esempio: public class StaticInitializer { private static int state = 10; static { Thread t1 = new Thread(new Runnable() { @Override […]

Differenza tra serratura (armadietto) e serratura (variabile_quando_I_am_uso)

Sto usando C # e .NEt 3.5. Qual è la differenza tra OptionA e OptionB? class MyClass { private object m_Locker = new object(); private Dicionary m_Hash = new Dictionary(); public void OptionA() { lock(m_Locker){ // Do something with the dictionary } } public void OptionB() { lock(m_Hash){ // Do something with the dictionary } […]

Strumento di analisi C # /. NET per trovare condizioni di gara / deadlock

C’è uno strumento che analizza il codice .NET e trova le condizioni di gara? Ho un po ‘di codice che ha una proprietà statica pubblica che ottiene o crea un campo statico privato. Ha anche un metodo statico pubblico che imposta questo campo su null (… sì, lo so! ..) Poiché non ci sono serrature […]

Come utilizzare la transazione di spring in multithread

Ho un metodo come di seguito: ClassA.java @Transactional public void methodA(){ ExecutorService executorService = Executors.newFixedThreadPool(4); executorService.execute(new Runnable() { public void run() { classB.methodB(); } }); } ClassB.java @Transactional public void methodB(){ updateDB(); } Il metodoB funziona bene? Per mia comprensione, methodB allegherà la transazione di methodA, e se il metodoA esce prima del metodoB? Immagino […]

Come condividere i dati tra diversi thread In C # utilizzando AOP?

Come condividere i dati tra diversi thread In C # senza utilizzare le variabili statiche? Possiamo creare un tale machanism usando l’attributo? In questi casi la programmazione orientata all’aspetto può essere d’aiuto? Per raggiungere questo tutti i diversi thread dovrebbero funzionare su un singolo object?

filetto qt con profilo mobile

Sto provando a creare un programma usando i thread: l’inizio principale con un ciclo. Quando un test restituisce true, creo un object e voglio che quell’object funzioni in un altro thread, quindi restituisco e avvia il test. QCoreApplication a(argc, argv); while(true){ Cmd cmd; cmd =db->select(cmd); if(cmd.isNull()){ sleep(2); continue ; } QThread *thread = new QThread( […]

bloccare la parola chiave in C #

Capisco la funzione principale della parola chiave di blocco da MSDN dichiarazione di blocco (riferimento C #) La parola chiave lock contrassegna un blocco di istruzioni come sezione critica ottenendo il blocco di esclusione reciproca per un dato object, eseguendo un’istruzione e quindi rilasciando il blocco. Quando dovrebbe essere usato il lucchetto? Ad esempio, ha […]

Multitasking UI WPF

Sto creando alcune UI a livello di codice che comporta alcune elaborazioni pesanti. Fondamentalmente quello che voglio è eseguire un’animazione caricatore mentre la mia interfaccia utente viene costruita / aggiunta alla finestra. L’interfaccia utente aggiunta sono alcune Griglie e alcune immagini vengono caricate in esse. Finora ho provato BackgroundWorker ma dato che ho bisogno di […]