Description [src]

struct GThread {
  /* No available fields */

The GThread struct represents a running thread. This struct is returned by g_thread_new() or g_thread_try_new(). You can obtain the GThread struct representing the current thread by calling g_thread_self().

GThread is refcounted, see g_thread_ref() and g_thread_unref(). The thread represented by it holds a reference while it is running, and g_thread_join() consumes the reference that it is given, so it is normally not necessary to manage GThread references explicitly.

The structure is opaque — none of its fields may be directly accessed.



This function creates a new thread. The new thread starts by invoking func with the argument data. The thread will run until func returns or until g_thread_exit() is called from the new thread. The return value of func becomes the return value of the thread, which can be obtained with g_thread_join().

Available since: 2.32


This function is the same as g_thread_new() except that it allows for the possibility of failure.

Available since: 2.32


No description available.

Terminates the current thread.


This function returns the GThread corresponding to the current thread. Note that this function does not increase the reference count of the returned struct.


Causes the calling thread to voluntarily relinquish the CPU, so that other threads can run.

Instance methods


Waits until thread finishes, i.e. the function func, as given to g_thread_new(), returns or g_thread_exit() is called. If thread has already terminated, then g_thread_join() returns immediately.


Increase the reference count on thread.

Available since: 2.32


Decrease the reference count on thread, possibly freeing all resources associated with it.

Available since: 2.32