Войти
ФлеймФорумПрограммирование

Страшный БАГ в Visual C++ (4 стр)

Страницы: 13 4 5 611 Следующая »
#45
1:37, 3 мар. 2020

MrShoor
> Если что сетевой код удобно писать как раз в отдельном потоке. Делаешь всю
> работу с сетью синхронной и код становится в разы проще. Но я так понимаю, что
> твой выбор - это возня с коллбеками и асинхронщиной.
Не, лучше уж слип.


#46
1:38, 3 мар. 2020

beejah

> Ой, лол
Ты какой-то агрессивно-веселый.

> Видел когда-нибудь безынерционный шаговый движок
Какой-какой? Может биполярный?

> там твой слип завалит цех трупами в две секунды после гудка
Там - да. Но мы не там. Тут не о реальном времени речь - тебе в соседнюю тему, можешь вечное до людей донести. Если захочешь, желательно с утра.

> Квант манагера задач виндового посмотри
Шедулеры даже в винде уже гораздо умнее чем перебор задач по прерыванию от таймера.

> Интервал моделирования выбирается из показаний таймера.
Какого блин таймера? API его подскажи для ясности.

> Ты будешь писать каждый N-ый кадр
Это если есть очередь кадров, которая формируется какой-нибудь железякой. Программно ты это как собрался делать?

#47
1:46, 3 мар. 2020

beejah
> крон. На хер тут вообще какие-то слипы.
Бред, даже комментировать не хочу.

> Не, лучше уж слип.
Конечно лучше, чем дрочить основной поток по делу и без дела. Слип в 100мс - считаю нормальным решением. Вообще все слипы до 1 секунды - вполне нормальная практика. Я не знаю откуда у тебя фобия на слипы. Детская травма?

#48
1:58, 3 мар. 2020

MrShoor
> Я не знаю откуда у тебя фобия на слипы. Детская травма?
Ну, я тоже не знаю, откуда у тебя влечение к слипам. Фетиш? Я то как-то обхожусь без них.

#49
2:05, 3 мар. 2020

beejah

> крон. На хер тут вообще какие-то слипы.
Фак, биджа, ты всенепременно должен написать правильный крон, без слипов и содомии. Место в раю и звезды на гитхабе тебе обеспечены.

#50
2:11, 3 мар. 2020

Ghost2
MrShoor
Ну ладно, я сокрушен и опечален.
Все равно где-нибудь будет торчать сраный слип.
Мир несовершенен.

#51
4:01, 3 мар. 2020

когда-то пару лет назад windows 10 накатил апдейт, в котором какая-то левая системная библиотека была из будущего (на несколько месяцев из будущего). студия линковалась с этой библиотекой и компилятор при каждой компиляции парсил даты модификации всех зависимостей, и, так как эта дата всегда была раньше текущего времени, студия всегда пересобирала весь проект вместо инкрементальнго билда. типичный майкрософт.

#52
7:47, 3 мар. 2020

Чаще всего слипы для дурачков.

#53
9:18, 3 мар. 2020

Мне кажется, Биджа хотел сказать, что если код чего-то ждёт - vsync, там, или itsTimeToGo - то лучше ждать этого на мьютексе или условной переменной, чем периодически проверять и слипать.

#54
10:28, 3 мар. 2020

Delfigamer
> то лучше ждать этого на мьютексе или условной переменной, чем периодически
> проверять и слипать.
На условной переменной ждать зло, ибо тред будет нонстопом лопатить проверку этой переменной сожрав целое ядро CPU. На мьютексе ждать можно (но лучше на евенте), однако если поток более менее независим, и слипа достаточно, то зачем еще лишней логикой нагружать другой поток?

#55
10:38, 3 мар. 2020

MrShoor
> На условной переменной ждать зло, ибо тред будет нонстопом лопатить проверку
> этой переменной сожрав целое ядро CPU.
Ты точно знаешь, что такое condition variable?

#56
10:55, 3 мар. 2020

MrShoor
Ну жди события и будет тебе шастя.

#57
11:26, 3 мар. 2020

Нет там бага. Есть человеческий фактор.
Это тоже что обвинять производителя календарей в том, что их календари всегда показывают 3 сентября, когда сам потребитель каждую ночь перед сном переворачивает календарь на 2 сентября.

#58
(Правка: 11:27) 11:26, 3 мар. 2020

MrShoor
> На условной переменной ждать зло, ибо тред будет нонстопом лопатить проверку
> этой переменной сожрав целое ядро CPU.
Да, я как раз про condition variable здорового человека - когда тред не просто не жрёт цпу, а вообще лежит в коме и даже не возникает в кэше, пока другой тред не постучит и системный шедулер не разблокирует.

#59
13:09, 3 мар. 2020

Delfigamer

Condition variable тут вообще никак, потому что или ее нужно кем-то сигналить, возвращаясь к исходной проблеме, или выходить из ожидания по таймауту, что есть не более чем Sleep. Для больших задержек - WF(S/M)O и event/CV на выход. Для маленьких немного лучше чем Sleep себя ведут waitable таймеры (немного - это с танцами вокруг кванта времени и вообще зависит от версии винды).

Короче, до функциональности позиксовской clock_nanosleep винде еще далеко.

Страницы: 13 4 5 611 Следующая »
ФлеймФорумПрограммирование