Есть ли быстрый способ записать, что поток ожидает блокировки, когда поток достигает
lock(x)
{
//do work on a collection
}
Если поток 1 приходит к блокировке, а в блоке нет другого потока, не должно быть журнала. Затем, если поток 2 достигает блокировки (x), а поток 1 все еще находится в блоке, должен быть журнал. Идеальное решение не потребовало бы, чтобы переключение на Mutex или Monitor добавило много сложностей. Если есть быстрый и простой способ сделать это с использованием TPL, PLINQ или RX, это было бы здорово.