История изменений
Исправление firkax, (текущая версия) :
Наверно этот «термин» несколько размытый, но я ничего другого не придумал. Если ты ткнёшь в некоторую строчку кода, то ты сможешь однозначно сказать какие мютексы в выбранный момент взяты. Альтернатива же: список взятых мютексов в общем случае зависит от состояния. Как, например, в моём примере выше на момент mutex_unlock(&list->mtx);
ты не можешь без анализа переменных знать, залочен ли item->mtx
или нет. Разумеется, в данном примере это бесполезная инфомрация, но там ведь мог быть и посложнее код, который лезет в item и что-то в нём делает.
А ещё может быть ситуация, что доступ к переменной регулируется парой мютексов (т.е. оба когда пишем в неё и хотя бы один когда читаем, либо наоборот при условии что пишет только один тред).
Исходная версия firkax, :
Наверно этот «термин» несколько размытый, но я ничего другого не придумал. Если ты ткнёшь в некоторую строчку кода, то ты сможешь однозначно сказать какие мютексы в выбранный момент взяты. Альтернатива же: список взятых мютексов в общем случае зависит от состояния. Как, например, в моём примере выше на момент mutex_unlock(&list->mtx);
ты не можешь без анализа переменных знать, залочен ли item->mtx
или нет. Разумеется, в данном примере это бесполезная инфомрация, но там ведь мог быть и посложнее код, который лезет в item и что-то в нём делает.
А ещё может быть ситуация, что доступ к переменной регулируется парой мютексов (т.е. оба когда пишем в неё и хотя бы один когда читаем, либо наоборот).