Struct

GLibThread

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.

Constructors

g_thread_new

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

g_thread_try_new

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

Available since: 2.32

Functions

g_thread_error_quark
No description available.
g_thread_exit

Terminates the current thread.

g_thread_self

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

g_thread_yield

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

Instance methods

g_thread_join

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.

g_thread_ref

Increase the reference count on thread.

Available since: 2.32

g_thread_unref

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

Available since: 2.32