Проблема заключается в том, что в отличии библиотеки документов в списке не реализован checkOut. И если вы напишете обработчик событий которы пишет в какой-то элемент списка есть вероятность(я на убедился на своем опыте что она велика) попытки записи в элемент одновременно двумя инстансами обработчика.
Решение простое:
static int count;
static int queue;
int myQueueNumber;
lock(count)
{
count++;
myQueueNumber= count;
}
if (queue==myQueueNumber)
{
//code
queue++;
}
И соответственно простая организация очереди для инстансов этого обработчика.
Если обработчиков много и они разного типа все выносится в отдельный класс объект которого присутствует во всех обработчиках. Или используете наследование.
четверг, 8 мая 2008 г.
Подписаться на:
Комментарии к сообщению (Atom)
Комментариев нет:
Отправить комментарий