Ein Mutex ("gegenseitiger Ausschluss") ist ein Mechanismus zur Gewährleistung der Integrität, wenn von mehreren Threads gleichzeitig auf dieselben Daten oder Ressourcen zugegriffen (insbesondere geändert) wird.
Ich habe eine Multithread-App, die einige Daten häufig lesen muss, und gelegentlich werden diese Daten aktualisiert. Momentan schützt ein Mutex den Zugriff auf diese Daten sicher, aber es ist teuer, weil ich möchte, dass mehrere Threads gleichzeitig lesen können und sie nur dann sperren, wenn ein Update erforderlich ist (der …
Gibt es ein Mutex-Objekt in Java oder eine Möglichkeit, eines zu erstellen? Ich frage, weil ein Semaphor-Objekt, das mit 1 Erlaubnis initialisiert wurde, mir nicht hilft. Denken Sie an diesen Fall: try { semaphore.acquire(); //do stuff semaphore.release(); } catch (Exception e) { semaphore.release(); } Wenn beim ersten Erwerb eine Ausnahme …
Ich habe diesen Link gesehen: Implementieren des gegenseitigen Ausschlusses in JavaScript . Andererseits habe ich gelesen, dass es in Javascript keine Threads gibt, aber was genau bedeutet das? Wenn Ereignisse auftreten, wo im Code können sie unterbrechen? Und wenn es in JS keine Threads gibt, muss ich in JS Mutexe …
Gibt es einen Unterschied zwischen pthread_mutex_t lock = PTHREAD_MUTEX_INITIALIZER; Oder pthread_mutex_t lock; pthread_mutex_init ( &lock, NULL); Bin ich sicher genug, wenn ich nur die erste Methode verwende? HINWEIS: Meine Frage bezieht sich hauptsächlich auf sehr kleine Programme, bei denen ich höchstens mehrere Clients mit einem Server verbinden und ihre Anfragen …
Ist von Natur aus std::mutexweder beweglich noch kopierkonstruierbar. Dies bedeutet, dass eine Klasse A, die einen Mutex enthält, keinen Standard-Verschiebungskonstruktor erhält. Wie würde ich diesen Typ Afadensicher beweglich machen ?
Ich habe irgendwo gelesen, dass wir den Mutex sperren sollten, bevor wir pthread_cond_signal aufrufen, und den Mutext entsperren sollten, nachdem wir ihn aufgerufen haben: Die Routine pthread_cond_signal () wird verwendet, um einen anderen Thread zu signalisieren (oder aufzuwecken), der auf die Bedingungsvariable wartet. Es sollte aufgerufen werden, nachdem der Mutex …
Ich beginne mit Multi-Threads in Python (oder zumindest ist es möglich, dass mein Skript mehrere Threads erstellt). Wäre dieser Algorithmus die richtige Verwendung eines Mutex? Ich habe diesen Code noch nicht getestet und er wird wahrscheinlich nicht einmal funktionieren. Ich möchte nur, dass processData in einem Thread (einzeln) ausgeführt wird …
Ich versuche, ein großes numerisches Problem zu lösen, das viele Unterprobleme beinhaltet, und ich verwende Pythons Multiprocessing-Modul (speziell Pool.map), um verschiedene unabhängige Unterprobleme auf verschiedene Kerne aufzuteilen. Jedes Unterproblem beinhaltet das Berechnen vieler Unter-Unterprobleme, und ich versuche, diese Ergebnisse effektiv zu speichern, indem ich sie in einer Datei speichere, wenn …
Für etwas Einfaches wie einen Zähler, wenn mehrere Threads die Anzahl erhöhen. Ich habe gelesen, dass Mutex-Sperren die Effizienz verringern können, da die Threads warten müssen. Für mich wäre ein Atomzähler am effizientesten, aber ich habe gelesen, dass es sich im Grunde genommen im Grunde genommen um ein Schloss handelt. …
Ich bin etwas verwirrt über die Rolle std::unique_lockbei der Arbeit mit std::condition_variable. Soweit ich die Dokumentation verstanden habe , std::unique_lockhandelt es sich im Grunde genommen um einen aufgeblähten Schlossschutz mit der Möglichkeit, den Zustand zwischen zwei Schlössern auszutauschen. Ich habe bisher pthread_cond_wait(pthread_cond_t *cond, pthread_mutex_t *mutex)für diesen Zweck verwendet (ich denke, …
Erstens benutze ich die pthread-Bibliothek, um ein Multithreading-C-Programm zu schreiben. Fäden hingen immer an ihren warteten Mutexen. Wenn ich das Dienstprogramm strace verwende, um festzustellen, ob sich ein Thread im FUTEX_WAITStatus befindet, möchte ich wissen, welcher Thread diesen Mutex zu diesem Zeitpunkt enthält. Aber ich weiß nicht, wie ich es …
Ich habe mit einem Kollegen über lock_guard gestritten, und er schlug vor, dass lock_guard aufgrund der Kosten für die Instanziierung und Unistantiierung der Klasse lock_guard wahrscheinlich langsamer als mutex :: lock () / mutex :: refresh () ist. Dann habe ich diesen einfachen Test erstellt und überraschenderweise ist die Version …
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.