Articles of multithreading

Quali sono gli usi principali di yield () e in che cosa differisce da join () e interrupt ()?

Sono un po ‘confuso sull’uso del metodo yield() in Java, in particolare nel codice di esempio qui sotto. Ho anche letto che yield () è ‘usato per impedire l’esecuzione di un thread’. Le mie domande sono: Credo che il codice sottostante produca lo stesso risultato sia quando si usa yield() sia quando non lo si […]

Restituire un valore dal thread?

Come posso restituire un valore da un thread?

ThreadLocal & Memory Leak

È menzionato in più post: l’uso improprio di ThreadLocal causa la perdita di memoria. Sto facendo fatica a capire come potrebbe accadere la perdita di memoria usando ThreadLocal . L’unico scenario l’ho capito come segue: Un server web gestisce un pool di thread (ad es. Per servlet). Questi thread possono creare perdite di memoria se […]

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?