Il multi-threading è la capacità di un computer o di un programma di eseguire lavori contemporaneamente o in modo asincrono utilizzando più flussi di esecuzione simultanei (generalmente chiamati thread).
bool compare_exchange_weak (T& expected, T val, ..); compare_exchange_weak()è una delle primitive di scambio di confronto fornite in C ++ 11. È debole nel senso che restituisce falso anche se il valore dell'oggetto è uguale a expected. Ciò è dovuto a errori spuri su alcune piattaforme in cui una sequenza di …
c ++ 11 ha la possibilità di ottenere l'id del thread corrente, ma non è castable al tipo intero: cout<<std::this_thread::get_id()<<endl; uscita: 139918771783456 cout<<(uint64_t)std::this_thread::get_id()<<endl; errore: cast non valido dal tipo "std :: thread :: id" al tipo "uint64_t" stesso per altri tipi: cast non valido dal tipo "std :: thread :: …
Ciao, sto cercando di utilizzare std::threadcon G ++. Ecco il mio codice di prova #include <thread> #include <iostream> int main(int, char **){ std::thread tt([](){ std::cout<<"Thread!"<<std::endl; }); tt.join(); } Si compila, ma quando provo a eseguirlo il risultato è: terminate called after throwing an instance of 'std::system_error' what(): Operation not permitted …
Se ho due thread multipli che accedono a una HashMap, ma garantisco che non accederanno mai alla stessa chiave contemporaneamente, ciò potrebbe comunque portare a una condizione di competizione?
Ho letto e riletto Java Concurrency in Practice, ho letto diversi thread qui sull'argomento, ho letto l'articolo IBM Dealing with InterructedException eppure c'è qualcosa che semplicemente non capisco che penso possa essere rotto in due domande: Se non interrompo mai altri thread da solo, cosa può attivare un'eccezione interrotta ? …
Quando leggo articoli sui thread Java, noto spesso l'espressione: "il thread corrente è il proprietario del monitor di questo oggetto". Capisco il significato: il filo ha il diritto di operare sull'oggetto. Ma sono perplesso perché usiamo la frase "il monitor dell'oggetto" invece di "il blocco dell'oggetto"? In breve, non conosco …
Quanto viene letto dalla ThreadLocalvariabile più lentamente rispetto al campo normale? Più concretamente, la creazione di un semplice oggetto è più veloce o più lenta dell'accesso alla ThreadLocalvariabile? Presumo che sia abbastanza veloce in modo che avere ThreadLocal<MessageDigest>istanza sia molto più veloce della creazione di istanze di MessageDigestogni volta. Ma …
In ac # threading app, se dovessi bloccare un oggetto, diciamo una coda e se si verifica un'eccezione, l'oggetto rimarrà bloccato? Ecco lo pseudo-codice: int ii; lock(MyQueue) { MyClass LclClass = (MyClass)MyQueue.Dequeue(); try { ii = int.parse(LclClass.SomeString); } catch { MessageBox.Show("Error parsing string"); } } A quanto ho capito, il …
Stavo leggendo una risposta che Jon Skeet ha dato a una domanda e in essa ha menzionato questo: Per quanto mi riguarda, il multi-threading senza lock è per veri esperti di threading, di cui non sono uno. Non è la prima volta che lo sento, ma trovo pochissime persone che …
Nel mio codice ho un ciclo in cui costruisco e un sistema lineare eccessivamente determinato e cerco di risolverlo: #pragma omp parallel for for (int i = 0; i < n[0]+1; i++) { for (int j = 0; j < n[1]+1; j++) { for (int k = 0; k < …
Ho questo nel mio codice Thread.currentThread().sleep(x); Eclipse mi dice di usare lo statico Thread.sleep(x); invece, perché? Qual è la differenza, c'è qualche differenza di funzionalità tra questi 2 metodi?
Capisco che volatileinformi il compilatore che il valore può essere modificato, ma per realizzare questa funzionalità, il compilatore deve introdurre una barriera di memoria per farlo funzionare? A quanto mi risulta, la sequenza di operazioni sugli oggetti volatili non può essere riordinata e deve essere preservata. Questo sembra implicare che …
Come posso verificare se un std::threadè ancora in esecuzione (in modo indipendente dalla piattaforma)? Manca un timed_join()metodo e joinable()non è pensato per questo. Ho pensato di bloccare un mutex con a std::lock_guardnel thread e di utilizzare il try_lock()metodo del mutex per determinare se è ancora bloccato (il thread è in …
Come condivido una variabile globale con il thread? Il mio esempio di codice Python è: from threading import Thread import time a = 0 #global variable def thread1(threadname): #read variable "a" modify by thread 2 def thread2(threadname): while 1: a += 1 time.sleep(1) thread1 = Thread( target=thread1, args=("Thread-1", ) ) …
We use cookies and other tracking technologies to improve your browsing experience on our website,
to show you personalized content and targeted ads, to analyze our website traffic,
and to understand where our visitors are coming from.
By continuing, you consent to our use of cookies and other tracking technologies and
affirm you're at least 16 years old or have consent from a parent or guardian.