powered by simpleCommunicator - 2.0.56     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Не работает lock в многопоточном сервисе
11 сообщений из 11, страница 1 из 1
Не работает lock в многопоточном сервисе
    #38390636
Джек
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Добрый день всем.
У меня есть служба где в коде два объекта System.Threading.Timer в своих обработчиках вызывают некоторую функцию:

void func()
{
lock (locker)
{

eventLog1.WriteEntry("Сообщение 1");

//здесь долго чё-то выполняется

eventLog1.WriteEntry("Сообщение 2");
}
}
Дак вот этот lock не работает, я вижу это на контрольных сообщениях, которые поставил вначале блока lock и в конце, т.е. сначала появляется Сообщение 1 потом ещё несколько Сообщение 1 и потом только Сообщение 2
Никто не знает дело?
Заранее спасибо.
...
Рейтинг: 0 / 0
Не работает lock в многопоточном сервисе
    #38390647
Фотография Torre
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Джек, Блокировать надо общие ресурсы, а не операции
...
Рейтинг: 0 / 0
Не работает lock в многопоточном сервисе
    #38390651
Джек
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
там внутри лока и идёт работа с общим массивом.
...
Рейтинг: 0 / 0
Не работает lock в многопоточном сервисе
    #38390667
Фотография Алексей К
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Джектам внутри лока и идёт работа с общим массивом.Значит объект locker у каждого потока свой.
...
Рейтинг: 0 / 0
Не работает lock в многопоточном сервисе
    #38390669
Джек
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Алексей К,

Ну я его объявил в классе так:
static object locker = new object();
.
...
Рейтинг: 0 / 0
Не работает lock в многопоточном сервисе
    #38390681
Фотография Torre
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
TorreДжек, Блокировать надо общие ресурсы , а не операции
...
Рейтинг: 0 / 0
Не работает lock в многопоточном сервисе
    #38390682
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Залоченный объект не обязательно должен быть статическим.
...
Рейтинг: 0 / 0
Не работает lock в многопоточном сервисе
    #38390683
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А, вообще, судить по вот этому неформатированному огрызку кода сложно. Могу предложить кофейные зёрна.
...
Рейтинг: 0 / 0
Не работает lock в многопоточном сервисе
    #38390689
Фотография Torre
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В данном случае lock приносит больше вреда, используй WaitHandle
...
Рейтинг: 0 / 0
Не работает lock в многопоточном сервисе
    #38390702
Джек
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Torre,
С ожиданием ManualResetEvent?
...
Рейтинг: 0 / 0
Не работает lock в многопоточном сервисе
    #38390720
Фотография Torre
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Попробуй сначала с AutoResetEvent
...
Рейтинг: 0 / 0
11 сообщений из 11, страница 1 из 1
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Не работает lock в многопоточном сервисе
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]