Returns the current value of the thread local variable key.
If the value has not yet been set in this thread, null is returned.
Values are never copied between threads (when a new thread is
created, for example).
the thread-local value
Sets the thread local variable key to have the value value in the
current thread.
This function differs from g_private_set() in the following way: if
the previous value was non-null then the GLib.DestroyNotify handler for
key is run on it.
Optionalvalue: anythe new value
Sets the thread local variable key to have the value value in the
current thread.
This function differs from g_private_replace() in the following way:
the GLib.DestroyNotify for key is not called on the old value.
Optionalvalue: anythe new value
The GLib.Private struct is an opaque data structure to represent a thread-local data key. It is approximately equivalent to the
pthread_setspecific()/pthread_getspecific() APIs on POSIX and to TlsSetValue()/TlsGetValue() on Windows.If you don't already know why you might want this functionality, then you probably don't need it.
GLib.Private is a very limited resource (as far as 128 per program, shared between all libraries). It is also not possible to destroy a GLib.Private after it has been used. As such, it is only ever acceptable to use GLib.Private in static scope, and even then sparingly so.
See G_PRIVATE_INIT() for a couple of examples.
The GLib.Private structure should be considered opaque. It should only be accessed via the g_private_ functions.