Почему плохой практикой является использование блокировки, как в следующем коде, я предполагаю, что это плохая практика, основанная на ответах в этом SO-вопросе здесь
private void DoSomethingUseLess()
{
List<IProduct> otherProductList = new List<IProduct>();
Parallel.ForEach(myOriginalProductList, product =>
{
//Some code here removed for brevity
//Some more code here :)
lock (otherProductList)
{
otherProductList.Add((IProduct)product.Clone());
}
});
}
В ответах на там упоминается, что это плохая практика, но они не говорят, почему
Примечание: Пожалуйста, проигнорируйте полезность кода, это просто, например, цель, и я знаю, что это совсем не полезно