Ayrat
если у тебя честный асинк, то тредпул даже не вырастет за пределы кол-ва ядер ЦПУ
Nikolay
Сложно
Roman
Дедлок!
дедлок это другое. Это когда, например, у тебя 2 вложенных лока, внешний блочит объект а, а внутренний б. А в другом месте обратный порядок. И тред1 захватил объект а и ждет освобождения объекта б, а тред2 захватил объект б и ждет освобождения объекта а. И так они и висят до перезагрузки
Roman
А в дотнете почему нет такой проблемы?
пушто у нас есть синтаксический сахар, чтобы удобно писать асинхронный код. И в итоге погромистам не нужно выбирать — писать идиоматично или производительно.
А в жаве нужно. Можно сделать асинхронность без тредпулов (наверное, я мамкин жавист тока), но придется написать йоба-код, который будет выглядеть как пиздец. И никаких тебе вменяемых await-ов тоже.
Roman
поэтому то, что у нас пишется в 2 строчки, у них превращается в ебучий трактат в четырех томах трехстопным ямбом. @omgszer поправь плз, если я про жаву напиздел)
Ayrat
всё так, в джавке можно сделать нормально
Ayrat
но сук сложно
Nikolay
Nikolay
Ну в целом, с натяжкой так-то можно назвать дедлоком
Nikolay
По сути, один тред ждет, пока другой трэд освободит поток
Nikolay
А тот трэд, ждет пока третий трэд освободит поток
Ayrat
я вот умудряюсь делать несложно на котлине, но один хуй немного обмазаться екзекуторами кастомными приходится
Nikolay
Nikolay
Это как раз и будет дедлоком)
Mark
Как там было? Это твоё субъективное мнение!!!
Hog
Roman
@omgszer а тред старвейшн рассасывается со временем? Ну типа если 1 тред таки соизволили разлочить
Roman
Ливлок
ливлок это ж бесконечный цикл вроде
Nikolay
Разве лока не будет?
Ayrat
Ayrat
то есть ты вроде ожидаешь быструю работу (и она вполне может быть быстрая), но там какой-то мудак массив сортирует на единственном треде
Hog
Vladislav
Ayrat
короче, в продолжении истории, тот парень оказался вменяемым. Написал мне слёзное письмо что он нихуя не понимает в тредах и вообще его взяли по объявлению и долго описывал как же он рад что смог чему-то научиться сегодня.
Кстати, азиат, что важно
Ayrat
Возможно завтра он со стыда уже гопак напишет
Ayrat
Потому что сегодня вечером РАЗБЕРЁТСЯ в тредах
Ayrat
возможно его семья уже отвернулась от него, т.к. он не разобрался достаточно хорошо
Maksym
Ayrat
Ayrat
Если б мог в зуме в ноги кинуться, наверное кинулся бы. Заебался с ним прощаться, все рассыпался в благодарностях
Maksym
Ну в слаке.
Я уже прям представлял что чувак написал тераду извинений на емейл, плюс менеджера прикрепить)
Vasiliy
Stas
Ayrat
Anonymous
Критерий
do functional programmers dream about cock?
Ayrat
Ayrat
лыжи смазаны
Hog
Vasiliy
https://naked-science.ru/article/nakedscience/tsena-straha
Vasiliy
когда то болтали насчет атомной энергетики
Danil
Vladislav
https://github.com/fsprojects/FSharpPlus/blob/master/src/FSharpPlus/TypeLevel/TypeBool.fs
тут недавно @eglyph вроде кидал тип була кастомный
Vladislav
я нашёл это и плачу
Danil
#define false true
Vladislav
let inline Not (b: ^Bool) = (^Bool: (static member Not: _->_) b)
Vladislav
Viacheslav
Ayrat
Похоже это знание умрёт вместе с автором
Ayrat
В теории это для компайл тайм вычислений булов, но блять зачем
Viacheslav
Ayrat
Осталось понять где в ФШАРПЕ это может пригодиться
Viacheslav
Ayrat
Как??? И зачем, кстати?
Подобные техники пользуют в верифицирующих языках чтобы найти противоречие в леммах или наоборот их доказать
Ayrat
Но блять, при чём здесь фшарп
Ayrat
Vladimir
аа, понятно) я по ссылкам без надобности не хожу)
Doge
Т.е. везде где я использовал тайплевел в том или ином виде - это так или иначе сводилось к выводу тайпклассов через Generics и т.п. механизмы.
Doge
@omgszer
А там, кстати, примера какого-то осмысленного кода с этой машинерией нет?
Ayrat
Ayrat
Пацаны, помогите с джавой. Или я тупой, или идея
Ayrat
две проблемы, код выше требует return statement. И подчёркнутое желтым говорят что always true
Ayrat
Я видимо в упор тупой, но не понимаю почему он always true