Вопросы с тегом 'race-condition'

Состояние гонки - это когда несколько потоков/процессов/клиентов используют ресурс без надлежащего использования блокировок.
19

Что такое состояние гонки?

При написании многопоточных приложений одна из наиболее распространенных проблем - это условия гонки. Мои вопросы для сообщества: Что такое состояние гонки? Как вы их обнаруживаете? Как вы справляетесь с ними? Наконец, как вы их предотвращаете?
29 авг. '08 в 15:55
8

Безопасна ли проверка! =?

Я знаю, что сложные операции, такие как i++, не являются потокобезопасными, поскольку они связаны с несколькими операциями. Но проверяет ли ссылка на себя безопасную по потоку операцию? a != a //is this thread-safe Я попытался запрограммировать ...
27 авг. '13 в 8:27
5

Почему код, изменяющий общую переменную через потоки, по-видимому НЕ страдает от состояния гонки?

Я использую Cygwin GCC и запускаю этот код: #include <iostream> #include <thread> #include <vector> using namespace std; unsigned u = 0; void foo() { u++; } int main() { vector<thread> threads; for(int i = 0; i...
23 янв. '17 в 22:02
4

Как получить последний вставленный идентификатор строки из базы данных WordPress?

Мой плагин WordPress имеет таблицу с полем первичного ключа AUTO_INCREMENT с именем ID. Когда новая строка вставляется в таблицу, я хотел бы получить значение идентификатора вставки. Особенность заключается в использовании AJAX для отправки данных ...
16 окт. '09 в 1:27
4

Понимание горти

Я пытаюсь понять concurrency в Go. В частности, я написал эту небезопасную программу: package main import "fmt" var x = 1 func inc_x() { //test for { x += 1 } } func main() { go inc_x() for { fmt.Println(x) } } Я понимаю, чт...
10 апр. '12 в 20:10
2

Helgrind (Valgrind) и OpenMP (C): избегать ложных срабатываний?

Документация для инструмента обнаружения ошибок потока Valgrind Helgrind, найденная здесь предупреждает, что если вы используете GCC для компиляции вашего кода OpenMP, библиотека времени выполнения GCC OpenMP (libgomp.so) вызовет хаос ложноположител...
17 мая '12 в 19:05
6

Атомное приращение счетчика в джанго

Я пытаюсь атомарно увеличивать простой счетчик в Django. Мой код выглядит следующим образом: from models import Counter from django.db import transaction @transaction.commit_on_success def increment_counter(name): counter = Counter.objects.get_...
21 окт. '09 в 5:49
8

Частный конструктор, чтобы избежать состояния гонки

Я читаю книгу Java Concurrency in Practice session 4.3.5 @ThreadSafe public class SafePoint{ @GuardedBy("this") private int x,y; private SafePoint (int [] a) { this (a[0], a[1]); } public SafePoint(SafePoint p) { this (p...
19 авг. '12 в 18:31
2

Состояние очереди очереди процессов SQL Server

У меня есть очередь заказов, к которой обращаются несколько процессоров заказов через хранимую процедуру. Каждый процессор передает уникальный идентификатор, который используется для блокировки следующих 20 заказов для собственного использования. Хра...
02 июн. '09 в 14:16
2

Atomic UPDATE.. SELECT в Postgres

Я создаю механизм очередей. Существуют строки данных, которые нуждаются в обработке, и флаг состояния. Я использую предложение update .. returning для управления им: UPDATE stuff SET computed = 'working' WHERE id = (SELECT id from STUFF WHERE compu...
18 июл. '12 в 0:02
4

Состояние гонки: минимальный и максимальный диапазон целого числа

Мне недавно задали этот вопрос в интервью. Учитывая следующий код, каково будет минимальное и максимальное возможное значение статического целого числа num? import java.util.ArrayList; import java.util.List; public class ThreadTest { private s...
29 сент. '19 в 10:45
6

Условия гонки в джанго

Вот простой пример представления django с потенциальным состоянием гонки: # myapp/views.py from django.contrib.auth.models import User from my_libs import calculate_points def add_points(request): user = request.user user.points += calculat...
23 июн. '09 в 1:53
3

Разница между условиями раскола и тупиковой ситуацией

В чем разница между мертвой блокировкой и расходом вокруг условия в терминах программирования?
28 июн. '10 в 4:37
4

Как я могу достоверно воспроизвести условия гонки в этом коде python?

Контекст Недавно я опубликовал класс таймера для обзора обзора кода. У меня было ощущение, что есть ошибки concurrency, как я когда-то видел 1 unit test, но не смог воспроизвести сбой. Отсюда мой пост для проверки кода. У меня появилась отличная...
26 окт. '13 в 3:40
4

MySQL INSERT IF (пользовательские операторы if)

Во-первых, здесь краткое изложение вопроса: Можно ли условно выполнить оператор INSERT? Что-то похожее на это: IF(expression) INSERT... Теперь я знаю, что могу сделать это с помощью хранимой процедуры. Мой вопрос: могу ли я сделать это в моем зап...
28 июл. '11 в 6:44