Почему возникают споры в местах без блокировок? - PullRequest
1 голос
/ 21 декабря 2010

Я запустил профиль параллелизма программного обеспечения в Visual Studio 2010 и обнаружил некоторые разногласия по строкам кода, которые не находятся в пределах блокировок. Скажем, новая операция для создания массива или локальный для потока вызов DynamicMethod.Invoke. Некоторые разногласия просто по назначению. Я не мог понять, почему эти строки вызывают намерения, потому что в моем коде не должно быть никаких блокировок.

Кто-нибудь испытывает подобные проблемы? Я думаю, что разногласия, отображаемые в профилировщике параллелизма VS2010, должны быть вызваны ожиданием блокировки или входом в секцию мьютекса. Спасибо.

1 Ответ

0 голосов
/ 21 декабря 2010

Новое создание массива и использование динамического метода приведет к выделению памяти, поэтому возможно ли, что это просто конфликт в распределителе? Конечно, это не объясняет строки назначения ...

...