Re: Glib::Threads:Private

2019-02-20 Thread John Emmas

On 20/02/2019 15:26, Paul Davis wrote:


On Wed, Feb 20, 2019 at 1:17 AM John Emmas > wrote:


I realise it's a deprecated interface but can anyone explain what
Glib::Threads:Private does?

[...]


It means that each thread that accesses the variable sees a distinct 
or "thread-local" version of it.

.


Thanks Paul - so would a typical use case be for static members of a 
class? In normal circumstances, a static class member has the same value 
for all instances of the class. But maybe (in this case) 2 objects 
running in different threads could each have different values?


John
___
gtk-devel-list mailing list
gtk-devel-list@gnome.org
https://mail.gnome.org/mailman/listinfo/gtk-devel-list


Re: Glib::Threads:Private

2019-02-20 Thread Paul Davis
On Wed, Feb 20, 2019 at 1:17 AM John Emmas  wrote:

> I realise it's a deprecated interface but can anyone explain what
> Glib::Threads:Private does?
>
> Does it guarantee that 'SomeObject' can only be accessed by code running
> in a particular thread?  And if so, does it do that by creating a
> specific thread for the object - or does it use whichever thread was
> running when Glib::Threads:Private got called?  Hope that makes sense
>

It means that each thread that accesses the variable sees a distinct or
"thread-local" version of it.
The language runtime creates memory for thread-local storage at program
startup, and each thread has its own section (inaccessible from other
threads) where these "thread-local" variables are allocated.
___
gtk-devel-list mailing list
gtk-devel-list@gnome.org
https://mail.gnome.org/mailman/listinfo/gtk-devel-list