Articles of multithreading

Ho sentito che i ++ non è thread-safe, è ++ i thread-safe?

Ho sentito che i ++ non è un’istruzione thread-safe poiché in assembly si riduce a memorizzare il valore originale come temp da qualche parte, incrementandolo e quindi sostituendolo, che potrebbe essere interrotto da un interruttore di contesto. Tuttavia, mi sto chiedendo di ++ i. Per quanto posso dire, questo ridurrebbe a una singola istruzione di […]

Come implementare il singleton multithread sicuro in C ++ 11 senza utilizzare

Ora che C ++ 11 ha il multithreading mi chiedevo quale sia il modo corretto di implementare il singleton pigro inizializzato senza usare i mutex (per ragioni perfette). Mi sono inventato questo, ma non sono davvero bravo a scrivere codice lockfree, quindi sto cercando delle soluzioni migliori. // ConsoleApplication1.cpp : Defines the entry point for […]

kill -3 per ottenere il dump del thread java

Sto usando il comando kill -3 per vedere il dump del thread della JVM in unix. Ma dove posso trovare l’output di questo comando kill ? Mi sono perso!!

Modo corretto per implementare un’attività senza fine. (Timers vs Task)

Pertanto, la mia app deve eseguire un’azione quasi ininterrottamente (con una pausa di 10 secondi circa tra una corsa e l’altra) per tutto il tempo in cui l’app è in esecuzione o viene richiesta una cancellazione. Il lavoro che deve fare ha la possibilità di richiedere fino a 30 secondi. È meglio utilizzare System.Timers.Timer e […]

Cos’è un deadlock?

Quando si scrivono applicazioni multi-thread, uno dei problemi più comuni riscontrati è deadlock. Le mie domande alla comunità sono: Cos’è un deadlock? Come li riconosci? Li gestisci? E infine, come impedisci che si verifichino?

.NET 4.0 e il temuto Hang OnUserPreferenceChanged

Sono stato tormentato dal temuto Hang OnUserPreferenceChanged a cui fa riferimento abbastanza bene Ivan Krivyakov, qui: http://ikriv.com/en/prog/info/dotnet/MysteriousHang.html#BeginInvokeDance Ho postato una domanda qualche tempo fa, quando ho riscontrato originariamente il problema: Ancora un altro C # Deadlock Debugging Question Pensavo di averlo risolto rimuovendo un controllo che era stato costruito dal thread dell’interfaccia utente, ma dopo […]

Thread e scrittura di file

Ho un programma java che utilizza 20 thread. Ognuno di loro scrive i risultati in un file chiamato output.txt . Ricevo sempre un numero diverso di righe in output.txt . Può essere un problema con la sincronizzazione dei thread? C’è un modo per gestire questo?

Come mettere in pausa e riprendere una discussione in Java da un’altra discussione

Sto scrivendo un’applicazione con Java Swing. Quello di cui ho bisogno è una procedura in cui posso fermare il thread di “elaborazione” usando un pulsante nell’interfaccia grafica. Ecco un semplice progetto incentrato su ciò di cui ho bisogno import java.util.logging.Level; import java.util.logging.Logger; import javax.swing.JTextArea; /* * To change this template, choose Tools | Templates * […]

Perché l’eccezione dell’operazione cross thread non viene generata durante l’esecuzione di exe in bin \ Debug

Stavo eseguendo il debug di un’applicazione e da qualche parte nel codice, un thread tenta di raggiungere una listbox creata da un altro thread. Nel tentativo di accedere alla casella di riepilogo, l’applicazione genera una “Operazione cross-thread non valida: controllo ‘ casella di riepilogo ‘ accessibile da un thread diverso dal thread che è stato […]

Java Aspetta che il thread finisca

Ho un thread che scarica i dati e voglio aspettare fino al termine del download prima di caricare i dati. C’è un modo standard per farlo? Ulteriori informazioni: Ho una class Download che ottiene i dati da un URL (POJO serializzati). Il download è eseguibile e osservabile. Tiene traccia dei byte scaricati e delle dimensioni […]