У меня есть 3 вопроса, с которыми мне нужна помощь.
-
Каковы правильные объекты/ссылки, которые должны быть переданы как параметр
lockstatement? Я видел много примеров кода, и я заметил, что переданные объекты/ссылки могут быть не связаны с текущим классом или любым другим классом в программе, если модификатор доступаstaticне является общедоступным? Например:.private Object anyObj = new Object(); lock(anyObj){.....} private static readonly object Locker = new object(); lock(Locker){.....}Мне это просто не имеет смысла.
-
Я нашел пример кода в MSDN о многопоточности, который также использует выражения
lock. В образце есть два блокаtry/catchсMonitor.Wait()внутри него. Если я правильно понимаю логику,readerFlagзапретит программе когда-либо вообще вводить блокtry/catch.
Код здесь пример 2:
http://msdn.microsoft.com/en-us/library/aa645740(v=vs.71).aspx -
Как запустить поток, который работает в фоновом режиме, если активна форма Windows?