race-condition

Co to jest stan rasy?

Podczas pisania aplikacji wielowątkowych jednym z najczęstszych problemów są warunki rasowe. Moje pytania do społeczności to: Jaki jest stan rasy? Jak je wykrywasz? Jak sobie z nimi radzisz? Wreszcie, jak zapobiec ich wystąpieniu?

Jest!/ align = "left" /

Wiem, że operacje złożone, takie jak {[3] } nie są bezpieczne dla wątków, ponieważ obejmują wiele operacji. Ale czy sprawd ... :true 1496:true 19970:true 19972:true 19974:true //after this there is not a single instance when the condition becomes true

Stan kolejki procesów SQL Server

Mam kolejkę zamówień, do której dostęp ma wiele procesorów zamówień za pośrednictwem procedury składowanej. Każdy procesor pr ... WHERE ProcessorID = 0) COMMIT TRAN SELECT OrderID, ProcessorID, etc... FROM OrderTable WHERE ProcessorID = @PROCID

Atomic UPDATE. Wybierz w Postgres

Buduję mechanizm kolejki. Istnieją rzędy danych, które wymagają przetworzenia, oraz znacznik stanu. Do zarządzania nim używam ... t tą samą blokadą co aktualizacja, czy mam tutaj stan wyścigu? Jeśli tak, to czy wewnętrzny wybór musi być select for update?

Warunki wyścigu w django

Oto prosty przykład widoku django z potencjalnym stanem rasy: # myapp/views.py from django.contrib.auth.models import User ... owana. Oto moje pytanie: jakie mechanizmy blokujące są dostępne dla django, aby radzić sobie z sytuacjami podobnymi do tego?

Prywatny konstruktor, aby uniknąć sytuacji wyścigowej

Czytam książkę Java Concurrency in Practice sesja 4.3.5 @ThreadSafe public class SafePoint{ @GuardedBy("this") ... ttera dla każdego, więc wywołujący będzie zobacz spójną wartość, ale dlaczego prywatny konstruktor ? what ' s the trick here

Różnica między stanem toru wyścigowego a deadlock

Jaka jest różnica między martwym zamkiem a race around condition w kategoriach programowych?

Jak uzyskać ostatnio wstawiony identyfikator wiersza z bazy danych wordpress?

Moja Wtyczka wordpress ma tabelę z AUTO_INCREMENT głównym polem klucza o nazwie ID. Gdy nowy wiersz jest wstawiany do tabeli ... mysql_insert_id działa? Czy istnieje inny sposób, aby uzyskać identyfikator ostatniego wstawionego wiersza z $wpdb? Dzięki.

Jak upewnić się, że nie ma stanu race w bazie danych MySQL podczas zwiększania pola?

Jak zapobiec stan wyścigu w bazie danych MySQL, gdy dwa połączenia chcą zaktualizować ten sam rekord? Na przykład połączenie ... +1 "zamiast" tries+2", ponieważ oba połączenia otrzymały te same "tries" i zwiększyły je o jedno. Jak rozwiązać ten problem?

Czy transakcje w bazie danych uniemożliwiają warunki wyścigu?

Nie jest dla mnie do końca jasne, co robią transakcje w systemach bazodanowych. Wiem, że można je wykorzystać do całkowitego ... jest chroniony przed warunkami rasy? I ' m mostly interesuje mnie MySQL5 + InnoDB, ale ogólne odpowiedzi też mile widziane.

Atomowe operacje w Django?

Próbuję zaimplementować (to, co myślę, że jest) dość prosty model danych dla licznika: class VisitorDayTypeCounter(models.M ... , ani w tutorialu (w rzeczywistości wygląda na to, że tutorial ma stan rasy w części głosowania). Jak to zrobić bezpiecznie?

Unikanie warunku rasy javascript

Oto scenariusz: Moim użytkownikom przedstawiana jest siatka, w zasadzie okrojona wersja arkusza kalkulacyjnego. W każdym w ... kodzie zapisu, aby czekać, aż SEMAFOR się odblokuje -- ale chciałbym uniknąć używania jakiejkolwiek pętli zajętości w kodzie.

Czy warunek race jest możliwy przy aktualizacji zmiennej środowiskowej PATH? Czy można tego uniknąć?

Jeśli dwie lub więcej aplikacji uruchomionych na Windows próbują dołączyć nazwę folderu do zmiennej środowiskowej PATH w tym ... który spowoduje utratę jednej z dołączanych wartości? Jaki jest standardowy sposób na uniknięcie tych warunków wyścigowych?

Atomic increment of a counter in django

Próbuję atomicznie zwiększyć prosty licznik w Django. Mój kod wygląda tak: from models import Counter from django.db import ... zie atomowy. Ale to nie działa i jest stan rasy w aktualizacji licznika. W jaki sposób ten kod może być bezpieczny dla wątku?

Zrozumienie goroutines

Próbuję zrozumieć współbieżność w Go. W szczególności napisałem ten wątek-niebezpieczny program: package main import "fmt ... tanie brzmi: Dlaczego program drukuje tylko jedną linię? Dla jasności: nie używam kanałów celowo dla tego przykładu zabawki.

Podwójnie sprawdzona blokada w C++11? [duplikat]

To pytanie ma już odpowiedź tutaj: double-Checked Lock Singleton in C++11 ... ie powinna być inline? I think Singleton* make_singleton() volatile powinienem to zrobić, ale jestem przekonany, że się mylę.

Dlaczego kod mutujący współdzieloną zmienną między wątkami najwyraźniej nie cierpi na stan rasy?

Używam Cygwin GCC i uruchamiam ten kod: #include <iostream> #include <thread> #include <vector> using nam ... stępowania zawartości udostępnionego foo czymś bardziej złożonym, np. if (u % 3 == 0) { u += 4; } else { u -= 1; }

Zapobieganie Warunkom wyścigu if-exists-update-else-insert in Entity Framework

Czytałem inne pytania dotyczące implementacji semantyki if-exists-insert-else-update w EF, ale albo nie rozumiem, jak działaj ... Ladislav poniżej, transakcja serializowalna przyjmuje ekskluzywne zamki dopiero po zaczął modyfikować dane, a nie odczytywać.

Jak wewnętrznie JVM radzi sobie z warunkami wyścigu?

Jeśli wiele wątków próbuje zaktualizować tę samą zmienną składową, nazywa się to stanem rasy. Ale bardziej interesowało mnie, ... a tej sytuacji, ale nie jestem pewien, co dokładnie się dzieje. Jeśli ktoś z Was ma jakiś wgląd, to dobrze byłoby wiedzieć.

Napisz raz na liście jądra Linuksa

Czytam implementację jądra Linuksa {[10] } z podwojonej listy linkowanych. Nie rozumiem użycia makra WRITE_ONCE(x, val). Jes ... mmit dodaje zatem write_once () do tego wskaźnik funkcji przechowuje, które mogą wpływać na wskaźnik head ' s - > next.