Size: a a a

IT KPI C/C++ ХВ (не UB)

2021 June 28

 P

 ‌‌Gleb Pilipets... in IT KPI C/C++ ХВ (не UB)
ну то есть здесь же push ещё, а он не атомарный
источник

 P

 ‌‌Gleb Pilipets... in IT KPI C/C++ ХВ (не UB)
ну я понял суть вопроса - тип по факту потоки работают с разных сторон и если очередь никогда не пустая, то и данные у них будут разные, но все равно нету гарантий на потокобезопасность
источник

A

András in IT KPI C/C++ ХВ (не UB)
а якщо засунути q.pop, q.push в мютекс(q.front не в м'ютексі), то воно буде потокобезпечно?
источник

A

András in IT KPI C/C++ ХВ (не UB)
ну але ладно, якось обійдусь без цього
источник

RN

Ruslan Neshta in IT KPI C/C++ ХВ (не UB)
напиши свою очередь с атомиками внутри
источник

 P

 ‌‌Gleb Pilipets... in IT KPI C/C++ ХВ (не UB)
а как ты гарантируешь, что очередь будет не пустой?
источник

 P

 ‌‌Gleb Pilipets... in IT KPI C/C++ ХВ (не UB)
и в скольки потоках это работает?
только этих двух или это ты обозначил асинхронные задачи?
источник

A

András in IT KPI C/C++ ХВ (не UB)
Тільки ці 2 потоки
источник

 P

 ‌‌Gleb Pilipets... in IT KPI C/C++ ХВ (не UB)
а это?
источник

A

András in IT KPI C/C++ ХВ (не UB)
в реальності другий потік має в собі мютекс, з яким перший взаємодіє в кінці ітерації циклу
источник

A

András in IT KPI C/C++ ХВ (не UB)
void thread1()
{
   while (1)
   {
       if (not_empty)
       {
           std::cout << q.front();
           q.pop();
       }
       std::lock_guard lg{mtx};
       if (q.empty()) not_empty = true;
   }
}

void thread2()
{
   while (1)
   {
       std::lock_guard lg{mtx};
       q.push();
   }
}
источник

A

András in IT KPI C/C++ ХВ (не UB)
тобтом щось таке
источник

A

András in IT KPI C/C++ ХВ (не UB)
тільки коду побільше
источник

A

András in IT KPI C/C++ ХВ (не UB)
і я не хочу все тіло іфа засовувати в мютекс
источник

AB

Aleksey Belkevich in IT KPI C/C++ ХВ (не UB)
Возьми просто thread safe queue
источник

AB

Aleksey Belkevich in IT KPI C/C++ ХВ (не UB)
Можно из буста, или на коленке пишется за минут 15
источник

AB

Aleksey Belkevich in IT KPI C/C++ ХВ (не UB)
источник

AB

Aleksey Belkevich in IT KPI C/C++ ХВ (не UB)
Я когда-то такой нашёл и пользуюсь им довольно часто
источник

A

András in IT KPI C/C++ ХВ (не UB)
дякую
источник
2021 June 29

xd

xfall dota in IT KPI C/C++ ХВ (не UB)
Как в visual studio сбросить все настройки?
источник