Articles of multithreading

È intelligente sostituire boost :: thread e boost :: mutex con equivalenti c ++ 11?

Motivazione: la ragione per cui sto considerando è che il mio geniale project manager pensa che il boost sia un’altra dipendenza e che sia orribile perché “si dipende da esso” (ho provato a spiegare la qualità della spinta, poi ho rinunciato dopo un po ‘di tempo 🙁 La ragione più piccola per cui mi piacerebbe […]

Task.Factory.StartNew () è garantito per utilizzare un altro thread rispetto al thread chiamante?

Sto avviando una nuova attività da una funzione ma non vorrei che fosse eseguita sullo stesso thread. Non mi interessa su quale thread gira fintanto che è diverso (quindi le informazioni fornite in questa domanda non aiutano). Sono sicuro che il codice sottostante uscirà sempre da TestLock prima di consentire al Task t di inserirlo […]

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 […]