If you mutate the value, then only the current goroutine is affected (not 
even its existing children). Basically, the goroutine-local context is 
copied on new goroutine launch.

That's how pprof labels work right now, btw.

On Friday, September 25, 2020 at 4:43:45 PM UTC-7 Ian Lance Taylor wrote:

> On Fri, Sep 25, 2020 at 10:35 AM Alex Besogonov
> <alex.be...@gmail.com> wrote:
> >
> > Inheritable goroutine-locals would actually work just fine in Go. 
> Moreover, Go actually has them in the form of pprof labels.
>
> What should happen if one goroutine changes an inherited
> goroutine-local variable?
>
> Ian
>
>
> > On Wednesday, September 23, 2020 at 5:55:50 PM UTC-7 Ian Lance Taylor 
> wrote:
> >>
> >> On Wed, Sep 23, 2020 at 5:46 PM Alex Mills <al...@channelmeter.com> 
> wrote:
> >> >
> >> > There appears to be a way to get a reference on the goroutine id:
> >> >
> >> > http://blog.sgmansfield.com/2015/12/goroutine-ids/
> >>
> >> But as you can see by reading that blog article, that is almost a joke.
> >>
> >> Go considers these things to be better handled explicitly, which is
> >> why people are telling you to use a context.Context value. And, yes,
> >> you'll want to use a Context aware logging package.
> >>
> >> In Go it's trivial to create new goroutines, and as soon as you do
> >> that any goroutine-local-variable scheme falls apart. So Go has
> >> consistently chosen to not provide that capability, and similarly to
> >> not provide goroutine IDs. It's an intentional choice by the
> >> language. There have been a number of discussions about this in the
> >> past on this mailing list.
> >>
> >> Ian
> >
> > --
> > You received this message because you are subscribed to the Google 
> Groups "golang-nuts" group.
> > To unsubscribe from this group and stop receiving emails from it, send 
> an email to golang-nuts...@googlegroups.com.
> > To view this discussion on the web visit 
> https://groups.google.com/d/msgid/golang-nuts/f78f2d12-89d2-494d-983a-a462f0124d82n%40googlegroups.com
> .
>

-- 
You received this message because you are subscribed to the Google Groups 
"golang-nuts" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to golang-nuts+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/golang-nuts/ee6daca3-6e85-458e-95fd-877e8af4368dn%40googlegroups.com.

Reply via email to