Als «concurrency» getaggte Fragen

In der Informatik ist Parallelität eine Eigenschaft von Systemen, in denen mehrere Berechnungen in überlappenden Zeiträumen durchgeführt werden können. Die Berechnungen können auf mehreren Kernen in demselben Chip, präventiv zeitlich geteilten Threads auf demselben Prozessor oder auf physisch getrennten Prozessoren ausgeführt werden.

6
Sollten Sie überprüfen, ob die Karte Schlüssel enthält, bevor Sie putIfAbsent von ConcurrentMap verwenden
Ich habe Javas ConcurrentMap für eine Map verwendet, die von mehreren Threads verwendet werden kann. PutIfAbsent ist eine großartige Methode und viel einfacher zu lesen / schreiben als die Verwendung von Standardkartenoperationen. Ich habe einen Code, der so aussieht: ConcurrentMap<String, Set<X>> map = new ConcurrentHashMap<String, Set<X>>(); // ... map.putIfAbsent(name, new …

6
Was nützt das SyncRoot-Muster?
Ich lese ein Buch, das das SyncRoot-Muster beschreibt. Es zeigt void doThis() { lock(this){ ... } } void doThat() { lock(this){ ... } } und vergleicht mit dem SyncRoot-Muster: object syncRoot = new object(); void doThis() { lock(syncRoot ){ ... } } void doThat() { lock(syncRoot){ ... } } Allerdings …

1
NSURLSession gleichzeitige Anfragen mit Alamofire
Ich habe ein seltsames Verhalten mit meiner Test-App. Ich habe ungefähr 50 gleichzeitige GET-Anforderungen, die ich an denselben Server sende. Der Server ist ein eingebetteter Server auf einer kleinen Hardware mit sehr begrenzten Ressourcen. Um die Leistung für jede einzelne Anforderung zu optimieren, konfiguriere ich eine Instanz Alamofire.Managerwie folgt: let …

4
Warum gewährleistet flüchtig in Java 5+ nicht die Sichtbarkeit von einem anderen Thread?
Gemäß: http://www.ibm.com/developerworks/library/j-jtp03304/ Wenn unter dem neuen Speichermodell Thread A in eine flüchtige Variable V schreibt und Thread B aus V liest, ist garantiert, dass alle Variablenwerte, die zum Zeitpunkt des Schreibens von V für A sichtbar waren, jetzt für B sichtbar sind Und viele Stellen im Internet geben an, dass …

1
Wofür werden in Java Speicherzäune verwendet?
Beim Versuch zu verstehen, wie SubmissionPublisher( Quellcode in Java SE 10, OpenJDK | docs ), eine neue Klasse, die in Version 9 zu Java SE hinzugefügt wurde, implementiert wurde, stieß ich auf einige API-Aufrufe, die VarHandlemir bisher nicht bekannt waren: fullFence, acquireFence, releaseFence, loadLoadFenceUnd storeStoreFence. Nachdem ich einige Nachforschungen angestellt …

2
Java beendet den Executor-Service, sobald eine seiner zugewiesenen Aufgaben aus irgendeinem Grund fehlschlägt
Ich benötige einen Dienst, der einige Aufgaben gleichzeitig und im Abstand von 1 Sekunde für 1 Minute ausführt. Wenn eine der Aufgaben fehlschlägt, möchte ich den Dienst und jede damit ausgeführte Aufgabe mit einer Art Indikator beenden, dass etwas schief gelaufen ist. Wenn andernfalls nach einer Minute alles gut gelaufen …

2
Kotlin Coroutinen "passiert vorher" Garantien?
Bieten Kotlin-Coroutinen Garantien für "Vorheriges"? mutableVarGibt es in diesem Fall beispielsweise eine "Vorher-passiert" -Garantie zwischen dem Schreiben in und dem anschließenden Lesen eines (möglicherweise) anderen Threads: suspend fun doSomething() { var mutableVar = 0 withContext(Dispatchers.IO) { mutableVar = 1 } System.out.println("value: $mutableVar") } Bearbeiten: Vielleicht klärt ein zusätzliches Beispiel die …

1
Parallel "any" oder "all" in Haskell
Ein Muster, auf das ich jetzt schon mehrmals gestoßen bin, ist eines, bei dem eine Liste von Werten überprüft werden muss, indem ein Test darüber abgebildet wird und geprüft wird, ob einige oder alle Elemente bestanden wurden. Die typische Lösung besteht darin, nur die praktischen Einbauten allund zu verwenden any. …

2
Was ist mit C ++ std :: atomic auf Programmiererebene garantiert?
Ich habe mehrere Artikel, Vorträge und Fragen zum Stackoverflow angehört und gelesen std::atomicund möchte sichergehen, dass ich sie gut verstanden habe. Weil ich immer noch ein bisschen verwirrt bin mit der Sichtbarkeit von Cache-Zeilen-Schreibvorgängen aufgrund möglicher Verzögerungen bei MESI-Cache-Kohärenzprotokollen (oder abgeleiteten Protokollen), Speicherpuffern, ungültigen Warteschlangen usw. Ich habe gelesen, dass …

1
Ist es parallel sicher, concurrency :: concurrent_vector :: push_back aufzurufen, während über diesen concurrent_vector in einem anderen Thread iteriert wird?
push_back , begin , end werden in https://docs.microsoft.com/en-us/cpp/parallel/concrt/reference/concurrent-vector-class?view=vs-2019#push_back als gleichzeitig sicher beschrieben Der folgende Code bestätigt jedoch. Wahrscheinlich, weil das Element hinzugefügt, aber noch nicht initialisiert wurde. struct MyData { explicit MyData() { memset(arr, 0xA5, sizeof arr); } std::uint8_t arr[1024]; }; struct MyVec { concurrency::concurrent_vector<MyData> v; }; auto vector_pushback(MyVec &vec) …


Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.