Вопрос следующий. как я могу использовать ф-ю Read из BynaryReader в потоковой программе.
т.е. возникает exception который говорит об возможной проблеме синхронизации.
есть два потока. один : таймер,раз в какой то промежуток времени выдает ивент и запускает ф-ю обрабтоки.
в этой ф-и и стоит метод Read который и выдает ислкючение и некоторая ф-я обработки данных полученных из потока.
т.е. что получается ..что я обраотччик не успевает обработать событие до прихода нового?
но в обработчине я сделал некоторую проверку на то чтобы не выполнялось две ф-ии сразу.
возможно там ошибка? вообще метод Read он blocking ili nonblocking?
как бы мне решить эту проблему.
уж очень не охота пользоваться TextReader в котором реализован метод Sinchonized.
any help is very appreciated!
> Вопрос следующий. как я могу использовать ф-ю Read из BynaryReader в потоковой программе.
т.е. возникает exception который говорит об возможной проблеме синхронизации.
Чтобы не было конфликта между потоками:
void ProcessData()
{
lock (br) // br — BynaryReader
{
br.Read(...
}
}
--
lock (reference)
{
}
это тоже самое, что и
System.Threading.Monitor.Enter(reference);
try
{
...
}
finally
{
System.Threading.Monitor.Exit(reference);
}
данное сообщение получено с www.gotdotnet.ru
ссылка на оригинальное сообщение