Size: a a a

2021 January 22

L

Liza in .NET Talks 🎄
Larymar r.sorokin
в какой именно строке
Ну ты говоришь бесконечный цикл, в каком месте он
источник

L

Liza in .NET Talks 🎄
Сори слишком много кода чтобы в нем сходу разобраться
источник

Lr

Larymar r.sorokin in .NET Talks 🎄
Liza
Ну ты говоришь бесконечный цикл, в каком месте он
consumer_routine вот в этом методе
либо бесконечный цикл либо либо дедлок
по дебагу застреваю на 83 и никогда не попадаю на 84
источник

L

Liza in .NET Talks 🎄
Larymar r.sorokin
https://pastebin.com/cE2LdA6k


в картце задача
есть продюсер и потребители
продьюсер получает строчку с консоли вида "1 2 3 4 5 "
и по числу отдает потребителям
проблема в том, что если передать в строчке меньше цифр чем потребителей - то я получаю бесконечный цикл
(потребители + время ожидания задаются как аргументы ком строки)
А почему ты один лок два раза юзаешь
источник

L

Liza in .NET Talks 🎄
В цикле и вне
источник

L

Liza in .NET Talks 🎄
Есть какая-то необходимость не пускать тред в цикл если другой в той области после и наоборот?
источник

Lr

Larymar r.sorokin in .NET Talks 🎄
Liza
Есть какая-то необходимость не пускать тред в цикл если другой в той области после и наоборот?
там выполняется проверка
точно ли все дочитали
потому что без него последнее значение теряется
источник

L

Liza in .NET Talks 🎄
Larymar r.sorokin
consumer_routine вот в этом методе
либо бесконечный цикл либо либо дедлок
по дебагу застреваю на 83 и никогда не попадаю на 84
Где в это время другой тред?
источник

Lr

Larymar r.sorokin in .NET Talks 🎄
Liza
Где в это время другой тред?
в 70 тусуется
источник

L

Liza in .NET Talks 🎄
Larymar r.sorokin
в 70 тусуется
я не совсем понимаю, почему он ждет там? Кто статус должен выставить?
источник

Lr

Larymar r.sorokin in .NET Talks 🎄
Liza
я не совсем понимаю, почему он ждет там? Кто статус должен выставить?
статус выставляют по очереди продьюсер и консьюмер
(консьюмеров у меня несколько)
в 86 и 50 строке
источник

L

Liza in .NET Talks 🎄
Larymar r.sorokin
статус выставляют по очереди продьюсер и консьюмер
(консьюмеров у меня несколько)
в 86 и 50 строке
Так, а почему этот статус не выставил продюсер
источник

L

Liza in .NET Talks 🎄
Где он крутится?
источник

G

Golphyn in .NET Talks 🎄
Larymar r.sorokin
https://pastebin.com/cE2LdA6k


в картце задача
есть продюсер и потребители
продьюсер получает строчку с консоли вида "1 2 3 4 5 "
и по числу отдает потребителям
проблема в том, что если передать в строчке меньше цифр чем потребителей - то я получаю бесконечный цикл
(потребители + время ожидания задаются как аргументы ком строки)
а нафига прибивать гвоздями все к posix api?
источник

G

Golphyn in .NET Talks 🎄
std::mutex + std::scoped_lock + std::thread и даже кода меньше нужно было бы, в саму суть вникать уже лень, котелок почти не варит в такое время
источник

Lr

Larymar r.sorokin in .NET Talks 🎄
Liza
Так, а почему этот статус не выставил продюсер
выставил и завершил свою работу
а вот консьюмеры нет
один застрял в 70й строке
а другой в 84
источник

Lr

Larymar r.sorokin in .NET Talks 🎄
Golphyn
а нафига прибивать гвоздями все к posix api?
потому что таска такая
источник

Lr

Larymar r.sorokin in .NET Talks 🎄
Golphyn
std::mutex + std::scoped_lock + std::thread и даже кода меньше нужно было бы, в саму суть вникать уже лень, котелок почти не варит в такое время
а еще можно просто на шарпе написать и не знаниматься всей этой "любовью"
источник

L

Liza in .NET Talks 🎄
Larymar r.sorokin
выставил и завершил свою работу
а вот консьюмеры нет
один застрял в 70й строке
а другой в 84
То есть у тебя один консьюмер снял статус и взял лок для другого консьюмера?
источник

G

Golphyn in .NET Talks 🎄
Larymar r.sorokin
а еще можно просто на шарпе написать и не знаниматься всей этой "любовью"
ну не всегда это возможно
источник