Articles of multithreading

Tecnicamente, perché i processi in Erlang sono più efficienti dei thread del sistema operativo?

Caratteristiche di Erlang Da Erlang Programming (2009): La concorrenza di Erlang è veloce e scalabile. I suoi processi sono leggeri in quanto la macchina virtuale Erlang non crea un thread del sistema operativo per ogni processo creato. Vengono creati, pianificati e gestiti nella VM, indipendentemente dal sistema operativo sottostante. Di conseguenza, il tempo di creazione […]

È sicuro ottenere valori da una java.util.HashMap da più thread (nessuna modifica)?

C’è un caso in cui verrà costruita una mappa e, una volta inizializzata, non verrà più modificata. Sarà tuttavia ansible accedere (solo tramite get (chiave)) da più thread. È sicuro usare java.util.HashMap in questo modo? (Attualmente, sto usando felicemente una java.util.concurrent.ConcurrentHashMap , e non ho alcuna necessità misurata di migliorare le prestazioni, ma sono semplicemente […]

Pooling di thread in C ++ 11

Domande pertinenti : Informazioni su C ++ 11: C ++ 11: std :: thread raggruppato? Async (launch :: async) in C ++ 11 renderà obsoleti i pool di thread per evitare costose creazioni di thread? Informazioni su Boost: C ++ boost thread riutilizzando i thread boost :: thread e creando un pool di loro! Come […]

Utilizzo di ThreadPool.QueueUserWorkItem in ASP.NET in uno scenario ad alto traffico

Ho sempre avuto l’impressione che l’utilizzo del ThreadPool per attività di background di breve durata (diciamo non critiche) fosse considerato best practice, anche in ASP.NET, ma poi mi sono imbattuto in questo articolo che sembra suggerire il contrario – il argomento è che si dovrebbe lasciare il ThreadPool per gestire le richieste relative a ASP.NET. […]

Differenza tra puntatore e riferimento come parametro thread

Questo è l’esempio: #include #include using namespace std; void f1(double& ret) { ret=5.; } void f2(double* ret) { *ret=5.; } int main() { double ret=0.; thread t1(f1, ret); t1.join(); cout << "ret=" << ret << endl; thread t2(f2, &ret); t2.join(); cout << "ret=" << ret << endl; } E l’output è: ret=0 ret=5 Compilato con […]

Thread. Dormire per meno di 1 millisecondo

Voglio chiamare il thread sleep con meno di 1 millisecondo. Ho letto che né thread. Sleep né Windows-OS lo supportano. qual è la soluzione per questo? Per tutti quelli che si chiedono perché ho bisogno di questo: sto facendo uno stress test e voglio sapere quanti messaggi il mio modulo può gestire al secondo. Quindi […]

JavaFX lancia un’altra applicazione

Mi sono rotto la testa con JavaFx … Questo funziona quando non ci sono istanze di un’applicazione in esecuzione: public class Runner { public static void main(String[] args) { anotherApp app = new anotherApp(); new Thread(app).start(); } } public class anotherApp extends Application implements Runnable { @Override public void start(Stage stage) { } @Override public […]

Utilizzo di stdlib’s rand () da più thread

Ho diversi thread che hanno tutti la stessa funzione. In ognuno di questi generano un numero casuale diverso più volte. Abbiamo provato a farlo inserendo srand(time(0)) all’inizio della funzione, ma sembra che tutti abbiano lo stesso numero. Dobbiamo chiamare srand(time(0)) solo una volta per programma, cioè all’inizio del main (ad esempio), all’inizio di ogni funzione […]

Timeout Pattern – Quanto pessimo è Thread.Abort davvero?

Ho letto su vari siti Web che Thread.Abort non è molto buono da usare. In questo caso, come si implementa un pattern di timeout? Ad esempio, ho letto che MS usa il modello qui sotto (che ho avvolto in un metodo di estensione) in tutto il framework. Personalmente, penso che questa sia un’estensione piuttosto interessante, […]

System.Threading.Tasks: limita il numero di attività simultanee

Ho appena iniziato a guardare la nuova bontà “System.Threading.Tasks” in .Net 4.0, e vorrei sapere se c’è qualche build in supporto per limitare il numero di attività simultanee che vengono eseguite contemporaneamente, o se questo dovrebbe essere gestito manualmente Ad esempio: se devo chiamare un metodo di calcolo 100 volte, c’è un modo per impostare […]