Лига программистов, отзовись!

В горячее выдвигать не прошу, просто срочно нужна помощь знающих людей) Гугл не помогает, на форумах молчат. Может здесь кто поможет.

Проблема вот в чем. Пишу приложеньку на шарпе, решил запилить многопоточность. Есть у меня некоторый метод, который параллельно исполняют несколько потоков:
void function(void)
{
lock(lockobj)
{
//тут потоки читают/пишут общий ресурс
}
}


lock() выставляет блокировку на ресурс только в данном участке кода. Но совершенно в другом участке кода, который исполнят основной поток, также необходимо осуществлять доступ к этому общему ресурсу.
Теперь вопрос: как заблокировать ресурс в основном потоке?
Вы смотрите срез комментариев. Показать все
Автор поста оценил этот комментарий

Если я правильно помню универский курс, то Вам нужно что-то из этого:

https://msdn.microsoft.com/ru-ru/library/system.threading.se...

https://msdn.microsoft.com/ru-ru/library/system.threading.mu...

раскрыть ветку (3)
Автор поста оценил этот комментарий

О! Спасибо тебе, человек! Про мьютексы и семафоры я конечно и раньше знал, но только сейчас до меня дошло, что я могу использовать мьютекс, который будет виден и основному, и дочерним потокам)

Еще раз спасибо!

раскрыть ветку (2)
Автор поста оценил этот комментарий

Хотя нет, это не то. Мьютекс блокирует именно участок кода. А мне нужно обращения к ресурсу блочить

раскрыть ветку (1)
Автор поста оценил этот комментарий

А что не так? Вы обращаетесь к ресурсу в участке кода.

Вы смотрите срез комментариев. Чтобы написать комментарий, перейдите к общему списку