реклама на сайте
подробности

 
 
> Работа со списком объектов в многопоточном приложении
kosyak©
сообщение Feb 26 2012, 05:36
Сообщение #1


Частый гость
**

Группа: Свой
Сообщений: 179
Регистрация: 1-10-07
Из: НЧ
Пользователь №: 30 966



Не занл в какой раздел запостить - написал сюда.
В приложении есть список динамических объектов. Объекты из этого списка пользуют несколько потоков для чтения/записи. Так же сами объекты могут быть удалены (список очищен).
Как идеологически правильно организовать работу с атким списком?
Какие объекты синхронизации стоит использовать?
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
kosyak©
сообщение Feb 26 2012, 07:00
Сообщение #2


Частый гость
**

Группа: Свой
Сообщений: 179
Регистрация: 1-10-07
Из: НЧ
Пользователь №: 30 966



Сейчас есть мютекс на доступ к списку, и мютекс на каждый объект списка...
Но что-то я никак не могу правильно расставить все блокировки.

Вот например

Пройти по всем объектам и уменьшить счетчик:
Блокируем список
Берем элемент
Блокируем его
уменьшаем счетчик
разблокируем элдемент
переходим к следующему
Разблокируем список

Т.е. если вызывать эту процедуру из разных потоков, то они будут ждать разблокировки всего списка, хотя эта процедура не изменяет сам список и эта блокировка вроде как излишня...но в то же время Процедура очистки списка обязана блокировать весь список на время своей работы..т.е. пиходится блокировать спсиок всегда... Или есть еще какие метОды синхронизации???
Go to the top of the page
 
+Quote Post



Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 19th July 2025 - 13:49
Рейтинг@Mail.ru


Страница сгенерированна за 0.01388 секунд с 7
ELECTRONIX ©2004-2016