Re[11]: сериализация std::queue
От: NKZ  
Дата: 23.07.07 06:21
Оценка:
Здравствуйте, k732, Вы писали:

K>Пусть семафор имеет 30 свободных состояний.

K>В этот момент происходит сериализация. Очередь чистится.

K>1.Очистка очереди не может осуществляться методом pop, т.к. произойдет дедлок. Тоесть после очистки нужно еще сбросить семафор.

K>2. На друго стороне произошла десериализация. Какое состояние имеет семафор ? кто его будет инициализировать ?
K>Тоесть получается что его инициализация обязательно должна быть в методе сериализации

1.да надо сбрасывать при сериализации и устанавливать queue.size() при десериализации.
2.да так оно и есть, при сериализаций/десериализаций, дожидаемся когда потоки закончат работать с данными, лочим данные и загружаем/сохраням очередь и инициализируем семафор(при загрузке данных) .
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.