Size: a a a

2020 March 05

ПК

Побитый Кирпич in pro.cxx
У тебя что именно вызывается конкурентно? На это ставь мунтекс
источник

ПК

Побитый Кирпич in pro.cxx
Ivan Azoyan
До m_timer.cancel()?  не помогает. Я думаю, может как-то подход вообще пересмотреть
Вызов методов у таймера должен быть либо в одном потоке либо под мьютексом, либо ещё как то защищён
источник

ПК

Побитый Кирпич in pro.cxx
То есть async_wait и cancel надо защищать
источник

IA

Ivan Azoyan in pro.cxx
Побитый Кирпич
Вызов методов у таймера должен быть либо в одном потоке либо под мьютексом, либо ещё как то защищён
Ты имеешь ввиду методов объекта самого таймера или колбеков которые дернутся по expired?
источник

ПК

Побитый Кирпич in pro.cxx
Ivan Azoyan
Ты имеешь ввиду методов объекта самого таймера или колбеков которые дернутся по expired?
Методы таймера, больше там нигде нет гонок
источник

ПК

Побитый Кирпич in pro.cxx
Доступ к объекту таймера не потокобезопасен
источник

IA

Ivan Azoyan in pro.cxx
Да. Спасибо
источник

AS

Anatoly Shirokov in pro.cxx
Mikhail
Какую именно? Что после bad allocation не могу отправить те же данные, что до этого обрабатывались?
А непрерывность обязательное требование? Может на деку перейдешь?
источник

M

Mikhail in pro.cxx
Anatoly Shirokov
А непрерывность обязательное требование? Может на деку перейдешь?
Да меня даже не само решение проблемы интересно, а ее причины
источник

M

Mikhail in pro.cxx
Constantine Drozdov
Если произошла любая аллокация статической переменной или что-то подобное, все фрагментировалось
На практике выделение последовательного блока более 60М на х32 при длительной работе можно считать ненадежным
Статические переменные же в начале адресов, а динамические с конца. Как они вообще пересекаться могут? Это же разные участки памяти
источник

CD

Constantine Drozdov in pro.cxx
Mikhail
Статические переменные же в начале адресов, а динамические с конца. Как они вообще пересекаться могут? Это же разные участки памяти
static std::map<int, int> cache; //неявная утечка памяти
источник

ПК

Побитый Кирпич in pro.cxx
Constantine Drozdov
static std::map<int, int> cache; //неявная утечка памяти
Это если не чистить утечка
источник

ПК

Побитый Кирпич in pro.cxx
Как и всегда
источник

M

Mikhail in pro.cxx
Constantine Drozdov
static std::map<int, int> cache; //неявная утечка памяти
А, понял, да
источник

CD

Constantine Drozdov in pro.cxx
Побитый Кирпич
Это если не чистить утечка
Это если не откатывать мапу в 0 при обработке запроса, да
источник

hm

hime mononoke in pro.cxx
Как лучше обращаться к элементам двумерного массива сделанного через std::array? Пытаюсь через функцию std::get не выходит. Можно ли использовать обращение по индексам напрямую? Типа std::cout << m[1][2];? не нарушает ли это чего-нибудь?
источник

АК

Александр Караев in pro.cxx
hime mononoke
Как лучше обращаться к элементам двумерного массива сделанного через std::array? Пытаюсь через функцию std::get не выходит. Можно ли использовать обращение по индексам напрямую? Типа std::cout << m[1][2];? не нарушает ли это чего-нибудь?
источник

hm

hime mononoke in pro.cxx
Извините.
источник

ᏃᏞᎪᎽᎬᏒ in pro.cxx
hime mononoke
Как лучше обращаться к элементам двумерного массива сделанного через std::array? Пытаюсь через функцию std::get не выходит. Можно ли использовать обращение по индексам напрямую? Типа std::cout << m[1][2];? не нарушает ли это чего-нибудь?
нет, можно
источник

JP

Jel Perzik in pro.cxx
ребят можете сделать одну задачу? Хочу сравнить свой код с вашим.
источник