Название: Контейнер std::mutex Отправлено: YvenTitan от Февраль 14, 2017, 15:50 Здравствуйте
Я пробую сделать контейнер из mutex, к примеру vector. Делаю так: std::mutex myMutex; myVector.push_back(myMutex); В результате пишет несколько ошибок, см. вложение Можете подсказать, как сделать список mutex, если это возможно? Название: Re: Контейнер std::mutex Отправлено: __Heaven__ от Февраль 14, 2017, 16:17 Нельзя копировать этот тип (std::mutex).
Название: Re: Контейнер std::mutex Отправлено: __Heaven__ от Февраль 14, 2017, 16:20 Зато можно сделать вектор указателей на мютексы
Код
Название: Re: Контейнер std::mutex Отправлено: YvenTitan от Февраль 14, 2017, 16:22 А в первой строчке не опечатки? У меня пишет "expected nested-name-specifier before 'MutexPtr'", и еще 3 ошибки
Может еще нужно что-то перед этим подключить? Название: Re: Контейнер std::mutex Отправлено: __Heaven__ от Февраль 14, 2017, 16:36 Чёт я ерунду постом выше написал, кажись.
Возможно это будет накладно, а возможно и не сработает. Не разбирался глубоко в поточности и мьютексах. Но смысл в том, что чистые мьютексы в контейнерах вы не похраните. Название: Re: Контейнер std::mutex Отправлено: ViTech от Февраль 14, 2017, 17:38 mutex::mutex() (http://www.cplusplus.com/reference/mutex/mutex/mutex/):
Цитировать mutex objects cannot be copied/moved (both the copy constructor and assignment operator are deleted for this type). Можно так попробовать: Код
Название: Re: Контейнер std::mutex Отправлено: qate от Февраль 14, 2017, 20:00 а ради интереса - зачем контейнер мутексов ?
Название: Re: Контейнер std::mutex Отправлено: __Heaven__ от Февраль 14, 2017, 23:32 тоже заинтересовало.
Название: Re: Контейнер std::mutex Отправлено: YvenTitan от Февраль 15, 2017, 09:49 Сейчас подумал... Наверно, можно и без него обойтись)
Я пишу серверную часть, к которой подключается несколько клиентов. Для каждого клиента 2 потока на сервер. части, которые используют один и тот же сокет (может можно 2 сокета для этих дел завести). Для каждого клиента один мьютекс, и в итоге получается контейнер мьютексов Название: Re: Контейнер std::mutex Отправлено: cuntroll от Февраль 17, 2017, 09:24 Для каждого клиента 2 потока на сервер. WTF??? :-\ Это вообще как? ::)Название: Re: Контейнер std::mutex Отправлено: Igors от Февраль 17, 2017, 12:10 Ну затея явно нездоровая, обычно за каждым мутексом нужен глаз да глаз, а Вы их пачками... Ну если "так надо" то никто не мешает создать контейнер указателей на мутексы, придется потратится на qDeleteAll при его удалении. Напр
Код
|