Size: a a a

2020 January 17

IC

Ilya Chernoudov in pro.net
всё просто, у тебя есть поток финализации, отдельный. Он идёт по очереди финализации и вызывает метод финалайз. GC не вызывает финалайз, он только добавляет объекты в очередь и всё.
источник

s

semptra in pro.net
Anatoly
если объект не собирается, он не попадёт в очередь финализатора, вот и всё. если очередь не пуста, отдельный тред будет её пахать независимо от гц.
Судя по статье объект попадает в Finalization queue сразу после создания, если в нем есть финализатор. Но вот в очередь именно на вызов финализатора и очистку памяти он попадает после сборки GC
источник

VK

Vladislav Khapin in pro.net
Anatoly
если объект не собирается, он не попадёт в очередь финализатора, вот и всё. если очередь не пуста, отдельный тред будет её пахать независимо от гц.
разве там оно сейчас не в два этапа гц идет? в первый ставится а на втором если в очереди что-то есть то она дернется
источник

IC

Ilya Chernoudov in pro.net
а, я кажись понял в чём путаница
источник

A

Anatoly in pro.net
semptra
Судя по статье объект попадает в Finalization queue сразу после создания, если в нем есть финализатор. Но вот в очередь именно на вызов финализатора и очистку памяти он попадает после сборки GC
я вторую имею ввиду
источник

IC

Ilya Chernoudov in pro.net
есть 2 типа очередей finalization queue и freachable queue
источник

IC

Ilya Chernoudov in pro.net
при сборке объекты переходят из одной в другую
источник

IC

Ilya Chernoudov in pro.net
то есть объект, который имеет финализатор добавляется в finalization queue, и при вызове SuppressFinalize удаляется оттуда. А GC перекладывает объекты из одной очереди в другую
источник

IC

Ilya Chernoudov in pro.net
почему то не думал, что есть специальное название для второй очереди)
источник

vl

vova lantsov in pro.net
Подскажите в каких местах и при каких условиях есть профит с класса Parallel
источник

DB

Dmitry Babushkin in pro.net
Ilya Chernoudov
почему то не думал, что есть специальное название для второй очереди)
А кто из них активен без GC?
источник

s

semptra in pro.net
Dmitry Babushkin
А кто из них активен без GC?
Вторая, там отдельный поток, котоырй вызывает финализаторы
источник

IC

Ilya Chernoudov in pro.net
Dmitry Babushkin
А кто из них активен без GC?
очереди это просто списки, они не могут быть активны..
источник

AK

Alex Kiev in pro.net
vova lantsov
Подскажите в каких местах и при каких условиях есть профит с класса Parallel
Красивая замена Task.WHENAll
источник

DB

Dmitry Babushkin in pro.net
semptra
Вторая, там отдельный поток, котоырй вызывает финализаторы
А эту freachable queue можно посмотреть где-нибудь?
источник

s

semptra in pro.net
vova lantsov
Подскажите в каких местах и при каких условиях есть профит с класса Parallel
Плюсы:
Можно просто писать параллельный код
Минусы:
Меньше контроля над тем, что происходит
источник

DB

Dmitry Babushkin in pro.net
Тот же Sosex выдаёт только fianlizeQueue
источник

s

semptra in pro.net
Dmitry Babushkin
А эту freachable queue можно посмотреть где-нибудь?
Я ж ссылочку кидал выше
источник

vl

vova lantsov in pro.net
Это всё очевидно, что вы рассказываете, а когда его использовать – непонятно. От какого размера итераций, на каких архитектурах, какое кол-во ядер и т.д.
источник

н

невидимка in pro.net
vova lantsov
Подскажите в каких местах и при каких условиях есть профит с класса Parallel
когда надо параллельно считать много матана, т.е. для cpu-bound задач
для io-bound задач он не подходит, пушо не асинхронный
источник