В общем, fk0 отписался уже. Любой активный bool флажок или бинарный семафор увеличивает кол-во возможных состояний подсистемы вдвое, и делает это неявно. Для неявных состояний юнит тесты никто не пишет конечно же, что дает видимость легкой жизни. А если подходить с т.з. качества ПО - Explicit is Better than Implicit.
ИМХО при грамотном проектировании системы число потоков всегда минимизируется.