►
From YouTube: .NET Core Design Reviews: Finalization during shutdown
Description
We're looking into how finalization during shutdown will work for .NET Core.
* https://github.com/dotnet/corefx/issues/5205
A
A
B
C
B
C
Past
we
kind
of
try
to
run
by
the
lasers
well
finding
what
we
designed
this
feature,
because
we
wanted
to
run
them
at
all
coughs
and
the
reason
for
it
was
governmental
resources
that
were
super
super
scarce
like
you
could
run
out
of
you
know
they
were
like
on
Windows
95
/,
like
64
candles
or
files,
or
something
I'm
not
a
few
members.
Now
it
seems
like
almost
all
responses
that
we
guard.
They
are
not.
You
know
like
we
still
have
finalizes,
but
it's
more
of
a
performance
of
imitation.
B
C
Sticks,
no,
no,
no
I,
understand
that
like
either.
If
the
process
is
not
shutting
down,
we
need
to
learn
from
the
license
key
codes.
Yeah.
We
members
were
therefore
I'm
saying
in
the
past.
Even
when
the
process
was
shutting
down,
we
will
try
to
run
finalizes
because
we
wanted
to
close
some
of
the
system-wide
resources
like
candles.
That
may
not
be
closed
immediately.
Correct.
B
A
B
C
B
C
I'm
asking
because
I
like
the
idea
of
basically
like
you
said
in
there,
I
was
reading
this.
You
know
thread
and
you
said
well,
maybe
we
should
just
fix
it
either
on
time
right
and
like
not
on
finalizar,
said
shut
down,
but
I
wonder
whether
we
care
about
some
of
these
resources
that
still
may
be
were
finalizing
because
they
persist.
B
C
B
A
C
Up
to
the
user,
what
they
want
to
do
there,
but
I
mean
11
kind
of
issue
with
you
know,
come
to
the
event.
Is
you
can
start
executing
rd
very
cold
and
don't
know
how
to
write
it?
You
were
on
to
yet
another
set
of
problems
that
we
already
solved
with
a
safe
handles.
You
know
they
basically
look
at
the
problem
that
people
who'd
run.
You
know
catechol
that
he
finalizes.
So
then
we
created
safe
handles
something
about
them,
which
is
like
it's
almost
declarative.
C
F
B
C
B
C
D
C
Of
them
yeah
most
of
it,
but
I
wanted
that's
what
I
was
started
with,
like
I
still
think
there
are
few
research
most
process
shut
down,
we'll
just
clean.
There
are
few
that
you
know
it
won't
and
ie
I
would
like
to
have
this
assumption.
If
you
go
with
the
route
of
okay
round
and
as
many
finalizes
is
shut
down,
what
is
the
solution
for
these
resources
that
should
be
cleaned
up
each
other?
C
C
F
B
D
B
B
C
B
C
So
if
you
get
one
of
those
resources
like
a
socket
there
or
something
you
just
start
is
a
penguin,
that's
the
way
to
run
it
a
shot
of
otherwise
nagaraju.
Like
a
second
question,
it's
basically
has
to
be
easy.
Wiz!
Oh,
you
know,
windows
and
ruin
other
clothes.
I
do
the
clothes
can
do
has
to
work,
for
it
does.
F
E
B
C
B
B
C
And
do
whatever
they
want
to
sort
of
the
same
problem.
Yeah
I
would
not.
If
we
have
this
feature-
and
we
probably
can't
because
we
had
like
a
hierarchy
of
this
same
random,
I
will
just
have
like
what
you
know.
One
sec,
hello.
You
cannot
do
anything
with
it.
You
just
pass
it.
You
know
and
be
point
there
and
it
cost
close
handle
on
it.
That's
it.
If
you
have
more
complexity,
maybe
hook
up
today,
you
know
the
deep
end
did.
F
You
mention
I,
mean
I,
think
your
example
with
blemishes
go
on,
because
people
probably
misuse
fine
lasers
today
to
do
is
edit
these
kind
of
things
right.
So
this
is
not
a
cleanup
per
se.
Just
this
is
cooler
always
want
to
run
right,
and
then
you
know,
and
then
you
found
us
is
to
read
to
represent
those
semantics,
but
for
resource
clean
everything.
Safe
friends
is
just
one
example
and
other
examples,
maybe
in
a
free
memory
or
whatever
or
like
we
said
in
global
state
that
you
know
you
can't.
F
Won't
feel
this
I'm
saying
I
mean
if
you
generalize
resources,
you
could
imagine
like
you
shared.
You
know
that
same
you
texted.
You
have
to
believe
right
like
if
you
process
dies,
maybe
windows
does
it
for
you,
but
there's
some,
probably
some
cases
where
windows
can
clean
up
the
thing
for
you.
That's
why
I
asked,
but.
B
C
F
C
C
You
can
kind
of
many
of
these
scenarios
I'm
not
saying
that
the
solution
is
perfect,
but
many
of
these
scenarios
you
can
well,
you
know
let
someone
start
getting
discovered.
The
party
planner
probably
know
you
play
like.
There
are
some
solutions
to
it:
I
sockets,
there's
little
I,
don't
know
what
that
is
ocean
like
if
you
don't
close
the
socket
handle-
and
you
know
your
process
dies-
doesn't
cause
it
can.
Do
you
restart
the
same
thing?
You
make
her
problems.
There
is
a
way
to
open.
You
know
stock,
except
that
you
don't
have
a
problem.
C
F
B
D
B
C
B
C
F
B
B
C
B
B
B
C
A
A
Think
the
problem
with
having
a
special
kind
of
type
of
the
finalizer
is
that
object
itself
will
have
undefined
state
by
the
time
the
finalizer
runs.
If
it's
not
dead,
already
say
they
do
so
they
would
have
to
write
the
finalized.
Your
code,
such
that
I
mean
they
better
hope
that
you
can
focus
no
I'm
talking
about.
A
G
C
B
Right
by
a
rocket
scientist
side,
it's
like
you
can
done
sounds
like
every
other
guy
cool
but
ice
finalized.
There's
two
bike
yeah,
so
everybody
who
writes
something
with
sockets
now
I
think
it
should
be
responsibility.
If
there
is
this
problem
in
subjects,
it
should
be
responsibility.
Notice
of
it
live
right
now,
in
a
properly
during
shutdown
on
tight
loop,
probably
shut
down.
F
B
B
Both
other
parts
shut
down
right,
for
example,
you
cannot
have
console.writeline
and
final
is
it
so
maybe
comes
almost
already
final
outside
yeah.
But
if
you,
if
you
say
okay,
you
know
like
doing
this
unload
event
like
everything
is
still
up
and
running
only
those
bars
that
think
we're
a
special
shut
down.
I
ab
the
ones
that
can
be
cleaned
up
right,
no.
F
F
There
is
very
limited
what
it
can
do,
what
I'm
saying
and
that
coda
probably
can
use
our
IPOs
right,
so
if
we
would
serve
I
wanted,
for
example,
if
I
want
to
have
the
semantics
that-
and
you
know,
I
need
to
clean
up
some
files
right
in
my
mind,
I
want
to
make
sure
this
one's
doing,
shut
down
so
I
derived
from
the
special
object
in
the
in
that
method.
I
probably
can't
use
our
final
hour
oflf
system
api's
to
get
the
far
right
because
they
may
have
done
something
similar
right
well,.
F
C
F
F
C
F
C
C
F
F
B
F
H
H
D
B
H
C
B
C
B
H
Catches,
the
process
that
we
use
here
too,
so
here's
the
problem,
like
we
literally
have
wasted
weeks
on
vcl,
bugs
that
we
can't
fix.
Well,
you
like
email,
the
X,
you
have
to
talk
to
the
exit
maintainer
we've
had
to.
How
can
I
fix
the
fact
that,
when
w
pet
shuts
down
it
decides
it's
hilarious
to
go
through
and
query
windows
handles
without
try
catching
stuff?
A
H
F
System,
if
some
component
throws
there's
limited
things,
you
can
do
right,
I
mean
in
general.
The
question
is:
isn't
very
likely
the
way
to
use
a
designer.
It's
very
likely
that
people
will
accidentally
do
the
wrong
thing
right
and
I.
Think
that
is
probably
true
if
you're
undoing
shut
down
and
you
have
to
assume
other
things
already
did
their
cleanup
I
mean
that's
almost
also
a
given.
A
F
C
H
The
specific
problem
WTF
is
trying
to
solve.
Is
they
subclass
a
lot
of
windows
and
basically
make
some
class
a
lot
of
windows
with
delegate
call
backs
in
the
managed
code
and
when
a
nap,
the
main
unloved
you're
essentially
unloading
the
dll
that
facts
that
wind
proc,
subclassing
and
so
they're,
trying
to
unregister
all
there
and
knocks
on
the
way
down
which
I
guess?
If
we
have
a
use,
this
only
little
context,
I
guess
no!
It's
like
I
think
that's
about
something's
going
to
up
domain
amo,
and
it's
that
same
thing
but
does
impose
it.
H
H
When
we
get
rid
when
an
assembly
load
context
unload
it
does
physically
unload
the
DLLs
behind
it.
Well,
it's
different
because
they
well
it's
different,
because
they
today
they
use
statics
to
basically
partition
their
handles
that
they've
done,
and
that
gives
them.
Basically,
when
they're
unloading,
they
just
walk
through
there
static
list
and
undo
things
if,
with
a
silly
load
context,
they
have
to
partition
by
simply
load
context
and
handle,
since,
after
my
f
domains,
kind
of
give
them
free
partitioning
because
there's
a
static
crackling
up,
but
they
have
to
change
a
little
bit.
B
But
when
you're
unloaded,
I,
but
very
saying
like
so
so
just
to
be
good
today,
assemble
all
context
isn't
kind
of
a
modem.
So
we
didn't
build
that
feature
a
track
right
and
once
we
find
time
to
build
it
like
it
won't
be
the
case
that
you
know
we
take
like
random
code
out
there
and
it's
like
supports
automatic
level,
and
especially
it
is
helpful,
like
you
go
that
s,
this
manage-
Internet's
all
right.
B
C
B
F
It's
interesting
thing:
I
mean
I,
think
arish
people
would
take
a
look
at
them
because
I
mean
I.
Think
the
semantics
are
not
epic
but
then
the
same
time.
They
never
really
epic
poet
sorts.
It's
not
like.
We
are
making
it.
This
is
really
substantially
worse,
but
it's
very
hard
for
me
to
judge
what
the
impact
on
the
ecosystem
will
be.
If
that's
a
new
behavior
like
I,
don't
I,
always
you
don't
know
it
may
be
that
pretty
much
no
other
libraries
are
affected.
F
It
may
be
that
some
of
the
libraries
are
affected
and
therefore
very
trivially
fix.
Some
of
them
may
just
miss
use
the
feature,
but
so
it's
as
hard
for
me
to
make
a
statement
on
you
know
what
will
happen
if
you
do
this
in
tonic.
For,
on
the
other
hand,
though,
if
you
want
to
change
it,
I
mean
that's
the
time
when
amazing
codes,
we
should
be
one
so
much
much
harder
to
change
that.
F
C
F
On
options,
you
could
do
it
states
right,
we
could
say
for
now.
We
don't
have
it
and
see
what
happens
and
if
we
see
we
needed,
we
can
still
edit
I.
Don't
know
I
mean
it
seems.
The
question
is
also:
what's
the
desire
to
type?
Is
it
okay
to
just
special
case
a
panel
to
we
need
a
general-purpose
time
you
can
derive
from
I,
don't
know.
C
C
A
If
we
don't
do
it
with
final
items,
but
rather
just
register
providing
here
to
register
sick
handles
and
we'll
develop,
it'll
take
that
data.
Do
a
movie
night
well,
I
said
except
the
safe
handle
itself,
wouldn't
have
to
track
its
own
instance,
as
it
could
track
all
of
its
instances
and
handle
the
unload
event
to
clear
the
month.
Busy.
B
F
B
F
C
C
If
we
don't
have
this
feature,
we
have
to
keep
a
table
table
have
to
manage
it
through
it.
Basically,
and
therefore
we
have
to
you
know
increment
analyzers
from
these
things
finalized
on
the
table
and
then
hook
up
this
event
and,
what's
still
left
peanut
in
there,
that's
a
lot
of
ugly
and
unreal.
I
phone
call.
F
B
Discs
and
rules,
but
now
it's
kind
of
the
darling
yeah,
but
how
things
ended
on
time
to
a
one
thing
is
that
when
solicited
be
today,
the
ugly
bug
you
about
shutdown
is
that
VLAN
fuji
see
during
shutdown.
Just
two
photon
is
finalized
ogc
and
getting
challenged.
Just
like
based
off
cycle
cycle,
yeah
come
the
thing
is
going
to
be
shot
anyway.
So
why
do
you
want
to
collect
all
the
garbage
sheriff
it
up?
B
You
know
what,
if
like
some
of
these
guys,
you
know
Craig's
like
more
of
these
special
finite
elements.
Are
we
going
to
run
the
keys
in
a
loop
right
like
y'all?
Doing
today
just
makes
a
little
come
to
the
fore
small
phrenology
then
again,
just
liked
it
to
keep
somebody
screws
out
how
to
clear
this
grow
within
the
we
are
ghosts
method
they
can
do
in
you
the
little
nose,
there's
no
clothes
methods
that
they
can.
Do
you,
but
whatever.
C
C
B
B
B
C
B
If,
in
your
save
handle
recap
your
clothes
cosmetic
arsenal,
you
want
to
take
lot
to
do
something.
No,
you
cannot
operate
the
clothes.
You
don't
do
it.
We
don't
do
anything,
but
it's
like
I
can
understand.
Like
the
big
d
teen
ghost's
handle
method
for
elle
SE
han,
like
it's
like
yup
user-provided.
No,
no,
no,
it's
not
user
provided
grow.
C
B
I
B
I
C
B
F
F
B
F
Mean
if
we
I
mean
I
think
let's
say
we
can
solve
this
problem
generally,
but
we,
but
we
could
say
that
if
you
take
our
safe
handle
hierarchy
right
I
mean
you
could
imagine
that
there's
different
kinds
of
safe
and
derivatives
that
basically
do
the
more
equivalent
of
clothes
and
fold
over
their
corresponding
handle
typist.
Is
it.
F
F
But
if
you
say
we
have
a
special
case,
safe
channels
and
the
derivatives,
we
only
run
those
and
if
you
up
yet
you
up,
but
you
know
you
shouldn't
up
and
we
should,
when
somebody
says
audience
a
soccer
player,
but
we
should
tell
people
please
displease
derive
from
this
time.
Do
the
closing
only
like
for
this
particular
motive
resource?
Don't
try
to
do.
I
betrayed
managed
code
operations.
There
don't
do
any
other
crazy
to
just
do
that.
Would
that
not
go
as
a
okay?
F
C
We
could
just
say
it's
a
safe
handling,
all
its
derivatives,
no
I
would
even
start
with
it's.
The
same
kind
good
for
you
know
socket
handle,
because,
honestly,
the
only
the
only
resource
I
can
think
of
where
it
will
be
very
difficult
to
deal
with
with
shutdown
and
restart
over
process
is
basically
so
consider
no.
F
B
F
A
It's
awkward
to
have
an
object
that
has
a
special
kind
of
fine
water
surface.
Think
it's
hard
to
understand
that
difference,
a
normal
objects
when
Liza
versus
the
subjects.
When
was
it,
you
have
to
write
them
very
differently.
You
have
to
be
very
careful
careful
about
the
state
of
the
object,
a
groove
you.
F
On
principle,
I
would
say
the
difference
here
is
that
if
you
would
really
use
safe,
it's
kind
of
the
guidance
we
give.
People
today
would
say
like
if
you
have
a
native
handle,
don't
write
your
own
finalizer,
just
just
hold
on
to
a
safe
handle
and
use
that
one
if
there
is
no
safe
handle
that
you
can
use,
create
your
own
but
but
isolated
to
this
time.
So
it's
kind.
F
A
F
The
manage
side
as
the
abstraction
rather
than
Durrant,
I'm
sorry
yeah,
as
I
said
I
I,
wouldn't
be
fundamentally
opposed
to
that
because
I
mean
yeah.
It
is
probably
ugly
code
but,
as
yam
pointed
out,
I
think
you
know
you
just
shift
the
complexity,
you
can
either
say
be
purely
handle
and
manage.
We
have
maintained
or
or
or
thing
we
you
can.
C
C
Exceptions
like
mine
is
not
the
next
game,
so
it's
been
a
long
process
for
officer
crash
exactly
so
maybe
you
know
if
we
basically
make
it
like
Perry
library,
it's
not
the
knee
bent
fender
or
it's
a
chain
that
we
directly
to
execute
everyone
and
ever
know
in
the
trained,
and
maybe
it's
like,
we've
got
it.
Maybe
it's
a
basically
manage
called
equivalent.
You
have
to
implement
that.
C
We
say
little
this
thing
and
shark
normal
finalized
it,
but
against
the
library
to
it
we
could
do
it
basically
managed
code
in
a
signal,
but
I
think
we
would
need
this.
This
a
change
slightly
such
that
it's
not
just
an
event
handler
that
you
know
first
for
now,
but
better.
You
know
you
have
this
symbol.
B
F
Mean
the
question
is:
if
we,
if
we,
if
you
would
say
we
use,
we
use
safe,
handle
or
something
like
that,
and
we
maintain
our
own
managed
library
implementation
for
guaranteed
clean
up
right.
The
thing
that
I
would
be
worried
about
is
that
if
we
basically
say
ok,
there's
two
kinds
of
things
you
want
to
unring
shut
down
just
generally
clean
up.
That
means,
you
know
you
say
fennel
or
derivative
I.
F
Don't
let
me
do
it
for
you
if
you
want
or
what
we
now
use
telemetry
in
a
vacation
go
to
subscribe
to
this
event,
if
both
of
these
concepts
are
ending
up
in
the
same
q,
essentially
because
they
also
subscribe
to
this
event,
I
think
you
may
not
have
problems,
because
application
code
is
maybe
accessing
stuff
that
will
on
the
safe
and
still
being
valid.
So
think
what
you
want
is
you
want
to
say
every
customer.
A
F
Well,
what
I
would
say
is
you
know
when
you
as
you're
running
the
application
level
code,
the
background
thread
should
continue
to
run
and
then,
when
you
say
okay
now
this
is
the
end
of
the
process.
You
do
what
you
do
today.
You
hold
all
the
threats
and
then
the
only
thing
you
do
is
you
clean
up
the
safe
house,
because
we
ever
implements
them
they're
responsible
for
not
doing
arbitrary
things.
They
should
only
really
do
closehandle
on
whatever
right.
F
B
Know
the
problem
it
all
in
society.
It's
a
concept.
We
have
been
running
away
in
their
online,
so
it's
just
like
problematic
guidance.
Why
be
calculated
about
exception
in
reserve?
I
don't,
but
at
work
on
time
doesn't
have
it
right.
So
if
you
have
to
kind
of
fill,
this
thing
go
definitely
ape
like
hold
it
heads
now.
F
But
then
an
under
center
of
the
butcher
I
was
saying
we
should
have
all
this
rent.
So
obviously
we
should
not
hold
shoot,
not
okay,
then,
let's
not
do
that.
I
mean
your
questions
like.
What's
the
downside
them,
if
we,
if
we
don't
hold
the
threads,
there's
like
steps
that
are
true,
but
at
that
point
I
mean.
F
B
A
B
They
try
to
spot
this
task.
Okay,
do
this
backup
think
I
might
just
want
to
finish
it
like
some
time
you
take
down?
The
problem
is
like:
while
these
things
are
scheduled,
IT
the
obligation,
miticide
shut
up
right,
then
they
might
be
by
chronic.
Nobody
is
like
holding
hand
on
the
task
I,
it's
just
like
this
point.
Does
it
just
like
go
around
you
know,
I
even
want
to
hear
about
you
anymore
right.
C
C
B
Finalizes,
you
know
if
somebody
cash
is
the
process.
Mcfly
then
just
fine
eyes,
there's
fun
execute
either
to
be
on
Hannah
exception
like
when
days
are
no
exception.
You
are
done
I'm
going
to
let
such
as
we
don't
realize
it.
Yeah
and
it'll
exception.
Yada
like
this,
like
I,
you
know
doesn't
matter
bet
they
have
I'll
accepting
that
so.
F
We're
over
time
now,
like
I,
think,
let's
just
write
out
what
we
just
said.
It
seems
like
we,
but
should
we
do
another
round
of
net
or
do
we
think
may
have
enough
information,
because
I'm
honestly
still
confused
like
what
the
best
course
of
action
is
at
this
point,
like
I
was
saying
we
basically
start
with
a
simple
plan
and
add
more
complexity
as
we
go.
F
What
yeah
I
would
assume
you
would
still
do
the
event.
The
question
is
whether
we
would
provide
a
general
purpose.
Infrastructure,
like
you
know,
make
sure
say:
finals
run
all
the
time.
For
example,
equity
would
do
that
I
mean
yes,
you
could
always
run
your
own
code,
but
I.
Think,
generally
speaking,
you
know
that's
more
for
apps,
not
following
you
know.
Unless
library
authors
would
do
the
same
thing,
you
would
do.
That
would
probably
not
cause
any
code
running
by.
C
C
Know
again
his
so
many
issues,
I
kind
of
its
again.
Absolutely
you
decide
I
would
just
do
it
slightly
differently.
I
would
not
use
an
event
that
I'm
provider,
it's
basically
a
library
that
was
sampled,
a
security
when
of
the
range
shots
done
as
a
provider,
and
then
we
can
vary
more
flexibility
in
the
future.
How
we
execute
the
providers
versus
we
have
a
chain
of
you
know
the
event
handlers
and
then
you
know
and
well
it's
kind
of
the
providers.
It's
like
I,
always.