7 / 7 / 3
Регистрация: 19.03.2010
Сообщений: 182
|
|||||||||||
Атомарная операция17.02.2016, 17:24. Показов 1438. Ответов 9
Метки нет Все метки)
(
У меня есть такой класс:
Пробовал сделать state() так:
Вообще, state_ имеет другой тип состоящий из структуры, здесь написал bool для краткости.
0
|
17.02.2016, 17:24 | |
Ответы с готовыми решениями:
9
операция <<::>> Атомарная операция
|
15 / 9 / 12
Регистрация: 03.12.2015
Сообщений: 79
|
|
17.02.2016, 20:52 | |
Ээм... А чем вариант с мьютексом плох? Не вижу причины для падения.
Кстати, если делать std::atomic структуры, то Вы сможете только потокобезопасно читать и писать в неё целиком. У вас не будет атомарного доступа к отдельным элементам. Только выгрузка load() и использование как обычно. Если же делать атомарными элементы структуры, то действует обратное правило - отдельные эелементы будут атомарны, а вся структура нет. Насколько мне известно atomic по сути использует тот же мьютекс
0
|
7 / 7 / 3
Регистрация: 19.03.2010
Сообщений: 182
|
||||
18.02.2016, 09:37 [ТС] | ||||
И использование этого свойства после такого объявления будет как обычно в коде? Т.е. state_ == true?
0
|
15 / 9 / 12
Регистрация: 03.12.2015
Сообщений: 79
|
||
18.02.2016, 10:21 | ||
Что значит разрушаются? Если Вы удаляете мьютекс, пока он кем-то залочен, то это может привести к чему угодно. Также если Вы внутри одного потока попробуете повторно залочить уже залоченный ранее std::mutex, то вылетит ошибка. Для решения таких проблем существует std::recursive_mutex (количество попыток залочить который внутри одного потока тоже не безгранично, кстати)
0
|
7 / 7 / 3
Регистрация: 19.03.2010
Сообщений: 182
|
|
18.02.2016, 12:48 [ТС] | |
DrOffset, да, может быть. Сейчас открыл журнал windows и обнаружил, что Access violation reading location 0x00000020. Походу, указатель на объект "промахивается".
Добавлено через 1 час 3 минуты Да, атомные операции оказались вообще не нужны. Ошибка была совсем из-за другого. P.S. теперь всегда буду проверять указатели на nullptr перед использованием)
0
|
19428 / 10044 / 2447
Регистрация: 30.01.2014
Сообщений: 17,714
|
|
18.02.2016, 12:51 | |
0
|
18.02.2016, 12:51 | |
Помогаю со студенческими работами здесь
10
Операция (1С 7.7)
Операция $this-> Операция присваивания (=)
Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Опции темы | |
|
Новые блоги и статьи
![]() |
||||
Логирование в C# ASP.NET Core с помощью Serilog, ElasticSearch, Kibana
stackOverflow 25.04.2025
Помните те времена, когда для анализа проблемы приходилось подключаться к серверу, искать нужный лог-файл среди десятков других и вручную фильтровать тысячи строк в поисках ошибки? К счастью, эти дни. . .
|
Полностью асинхронный счётчик на логике (сумматорах) трёх состояний и асинхронных регистрах трёх состояний. Структура "электронный Buttom Up"
Hrethgir 25.04.2025
Программа для симуляции схемы - Logisim Evolution
В общем какое-то время отвлёкся, так было надо, теперь когда запилю это на verilog и FPGA , досоставлю заявку в ФИПС на полезную модель - не готов. . .
|
Автоматизация Amazon Web Services (AWS) с Boto3 в Python
py-thonny 25.04.2025
Облачные вычисления стали неотъемлемой частью современной ИТ-инфраструктуры, а Amazon Web Services (AWS) занимает лидирующие позиции среди провайдеров облачных услуг. Управление многочисленными. . .
|
Apache Kafka vs RabbitMQ в микросервисной архитектуре
ArchitectMsa 25.04.2025
Современная разработка ПО всё чаще склоняется к микросервисной архитектуре — подходу, при котором приложение разбивается на множество небольших, автономных сервисов. В этой распределённой среде. . .
|
Параллельное программирование с OpenMP в C++
NullReferenced 24.04.2025
Параллельное программирование — подход к созданию программ, когда одна задача разбивается на несколько подзадач, которые могут выполняться одновременно. Оно стало необходимым навыком для. . .
|
Цепочки методов в C# с Fluent API
UnmanagedCoder 24.04.2025
Современное программирование — это не только решение функциональных задач, но и создание кода, который удобно поддерживать, расширять и читать. Цепочки методов и Fluent-синтаксис в C# стали мощным. . .
|
Мульти-тенантные БД с PostgreSQL Row Security
Codd 23.04.2025
Современные облачные сервисы и бизнес-приложения всё чаще обслуживают множество клиентов в рамках единой программной инфраструктуры. Эта архитектурная модель, известная как мульти-тенантность, стала. . .
|
Реализация конвейеров машинного обучения с Python и Scikit-learn
AI_Generated 23.04.2025
Мир данных вокруг нас растёт с каждым днём, и умение эффективно обрабатывать информацию стало необходимым навыком. Специалисты по машинному обучению ежедневно сталкиваются с задачами предобработки. . .
|
Контроллеры Kubernetes Ingress: Сравнительный анализ
Mr. Docker 23.04.2025
В Kubernetes управление входящим трафиком представляет собой одну из ключевых задач при построении масштабируемых и отказоустойчивых приложений. Ingress — это API-объект, который служит вратами. . .
|
Оптимизация кода Python с Cython и Numba
py-thonny 23.04.2025
Python прочно обосновался в топе языков программирования благодаря своей простоте и гибкости. Разработчики любят его за читабельность кода и богатую экосистему библиотек. Но у этой медали есть и. . .
|