То что порядок неопределен так это специально. IDisposable предполагает что ты задизайнишь финализацию так, чтобы её вызов не влиял - финализировпны твои ссылки или нет.
Там даже целый шаблон есть чтобы не изобретать велосипед. И встроенный СА кидает варнинг если ты ему не следуешь
То что порядок неопределен так это специально. IDisposable предполагает что ты задизайнишь финализацию так, чтобы её вызов не влиял - финализировпны твои ссылки или нет.
Там даже целый шаблон есть чтобы не изобретать велосипед. И встроенный СА кидает варнинг если ты ему не следуешь
вопрос изначально был про UB в джаве, было куча разных предположений, в том числе про финалайзеры
но мне кажется странным, что всегда может быть только один поток, если есть система на пару сотен ядер и кучу оперативы, не задохнётся ли на финализаторах?
In Haskell, the function call model is a little different, function calls might not use a new stack frame, so making a function tail-recursive typically isn't as big a deal—being productive, via guarded recursion, is more usually a concern.