Articles of multithreading

Problème openCV and Threads

J’essaie d’adapter facetect d’OpenCV sur mon code QT, tout fonctionne bien jusqu’à ce que je décide de créer un thread pour mon code openCV afin que je puisse exécuter d’autres tâches pendant que la détection de visage est activée. le problème est si j’appelle class-> start (); mon programme rompt la boucle while dans la […]

Classes volatiles en C ++

J’ai une question concernant le mot clé volatile pour lequel je n’arrive pas à trouver de réponse. Dans mon application, j’ai une classe de données partagée en tant que tampon d’état entre les threads et j’ai besoin qu’elle soit mise à jour régulièrement à partir de plusieurs threads. La classe ressemble à ceci: class CBuffer […]

Abandonner le fil correctement lorsque vous cliquez sur le bouton de fermeture de la boîte de dialog

Bonjour mes collègues de StackOverflow! Je vais essayer d’être bref, alors je vais aller droit au but: Je travaille sur Windows XP, en C ++, en utilisant Win32 pur pour créer une boîte de dialog. Cette boîte de dialog contient des commandes d’édition et le bouton OK qui active un fil de discussion lorsqu’il est […]

notation std :: thread lors de la définition de la fonction thread

Je comprends la notation std::thread présentée ici et reproduite comme suit #include #include #include #include #include #include void f1(int n) { for (int i = 0; i < 5; ++i) { std::cout << "Thread " << n << " executing\n"; std::this_thread::sleep_for(std::chrono::milliseconds(10)); } void f2(int& n) { for (int i = 0; i < 5; ++i) […]

Multithreading C ++: l’initialisation d’un thread lambda statique local est-elle sûre?

La norme C ++ 11 indique à propos de l’initialisation d’une variable statique locale qu’elle est censée être thread-safe ( http://en.cppreference.com/w/cpp/language/storage_duration#Static_local_variables ). Ma question concerne ce qui se passe exactement quand un lambda est initialisé en tant que variable locale statique? Considérons le code suivant: #include #include int doSomeWork(int input) { static auto computeSum = […]

Comment créer plusieurs threads dans une queue avec Qt?

Comment créer des threads dans une queue avec Qt qui s’exécutent pas à pas (lorsqu’un thread a terminé le démarrage d’un autre thread)? S’il vous plaît donnez-moi un exemple de code?

MFC Envoyer un message à thread principal (plutôt qu’une fenêtre)?

J’écris une application graphique pour Windows utilisant MFC et C ++. J’ai donc besoin d’envoyer des messages à mon thread principal depuis mon thread de travail pour lui dire de mettre à jour mon interface graphique. Cependant, je ne sais pas comment envoyer un message au thread principal principal plutôt qu’à une fenêtre. Comme c’est […]

Faire en sorte que le thread principal attende qu’un thread de boost exécute une tâche (mais ne termine pas)

J’ai trouvé beaucoup de choses en faisant en sorte qu’un thread en attende un autre pour terminer l’exécution avant de continuer, mais ce n’est pas ce que je voulais faire. Je ne suis pas très familier avec l’utilisation d’un apis multi-threading, mais pour le moment j’essaie d’apprendre le boost. Ma situation est que j’utilise mon […]

c ++ async: comment mélanger un vecteur dans un contexte multithread?

En exécutant un programme multithread, j’ai remarqué que le programme s’exécutait plus rapidement avec 1 thread comparé à 4 threads, malgré le fait que le processeur avait 4 cœurs. Après avoir enquêté, j’ai découvert que le problème n’apparaissait que lors d’un remaniement. Ci-dessous le programme minimal que j’ai créé pour reproduire le problème: #include #include […]

PostThreadMessage du thread cible

Aujourd’hui, j’ai vu un code comme: void Foo() { MyMsgStruct myMsg; /* omission for simplicity */ /* send to update thread */ PostThreadMessage(myThreadId, myMessage, (WPARAM)myMsg, NULL); } Que se passe-t-il lorsque Foo() est appelé depuis le même fil que myThreadId , c’est- à- dire depuis le même fil censé être le fil cible ? Est-ce […]