Size: a a a

2021 October 31

c

codingteam@cjr in codingteam
Minoru
это прямо решение в духе Rust: просто добавьте clone!()
источник

c

codingteam@cjr in codingteam
Minoru
s/clone!()/clone()!/
источник

c

codingteam@cjr in codingteam
Minoru
> <@fvnever> Главное — чтобы треды не плодились после того, как пул вступил в режим самоуничтожения

написать либу для тредпулов и назвать её «hydra». Один падает, два новых спаунятся, мва-ха-ха!
источник

Dv

Dr. Friedrich von Ne... in codingteam
А остальная система как-то может узнать о том, что какой-то тред внутри неё запаниковал?
источник

c

codingteam@cjr in codingteam
Minoru
JoinHandle::join() возвращает Err с причиной паники
источник

c

codingteam@cjr in codingteam
Minoru
а вот асинхронно, чтобы какое-то уведомление пришло — не знаю как
источник

Dv

Dr. Friedrich von Ne... in codingteam
Ну это надо чтоб кто-то джойнился к таким тредам. Окей, интересно.
источник

c

codingteam@cjr in codingteam
Minoru
ну, можно тред обернуть в catch_unwind, и в обработчике слать кому-нибудь уведомление
источник

Dv

Dr. Friedrich von Ne... in codingteam
В целом, ты обычно знаешь, что делаешь, конечно. Но я бы тебе посоветовал поискать готовую библиотеку для тредпула. Наверняка таких пруд пруди.
источник

Dv

Dr. Friedrich von Ne... in codingteam
В момент, когда хочется писать какие-то нетривиальные абстракции над тредами, стоит задуматься, а стоит ли оно того, или нет.
источник

Dv

Dr. Friedrich von Ne... in codingteam
(Чаще всего не стоит.)
источник

Dv

Dr. Friedrich von Ne... in codingteam
(Но я видал и людей, оказавшихся в жизненной ситуации, когда стоит писать свои абстракции над потоками, локами и прочим. До сих пор как живые перед глазами.)
источник

c

codingteam@cjr in codingteam
Minoru
Форневер убеждает и ум, и сердце одновременно! :)
источник

FO

FORTRAN ONE LOVE in codingteam
Зная, что у @winged_pegasus есть завод по производству дилдаков, на месте @gsomix я бы тебя опасался...
источник

Dv

Dr. Friedrich von Ne... in codingteam
На месте Фокстрана я бы равно опасался обоих упомянутых господ.
источник

c

codingteam@cjr in codingteam
Minoru
оказалось, что JoinHandle нельзя клонировать :( Пойду и правда гляну, что там из готового есть на crates.io
источник

Dv

Dr. Friedrich von Ne... in codingteam
Хм, какая любопытная абстракция. Каким же подразумевалось её корректное использование?
источник

FO

FORTRAN ONE LOVE in codingteam
Но я упомянул трёх господ! Которых двух мне опасаться?
источник

c

codingteam@cjr in codingteam
Minoru
join() принимает self, т.е. сжирает JoinHandle. Видимо, почему-то не хотят, чтобы кто-то повторно вызывал join()
источник

Dv

Dr. Friedrich von Ne... in codingteam
Наверное, можно тогда весь массив мувнуть (или как у вас говорят — занять? передать владение?)
источник