### Struct

# GLib ThreadFunctions

since: 2.0

#### Description

    struct GThreadFunctions {
      GMutex* (* mutex_new) (
    void
      );
      void (* mutex_lock) (
        GMutex* mutex
      );
      gboolean (* mutex_trylock) (
        GMutex* mutex
      );
      void (* mutex_unlock) (
        GMutex* mutex
      );
      void (* mutex_free) (
        GMutex* mutex
      );
      GCond* (* cond_new) (
    void
      );
      void (* cond_signal) (
        GCond* cond
      );
      void (* cond_broadcast) (
        GCond* cond
      );
      void (* cond_wait) (
        GCond* cond,
        GMutex* mutex
      );
      gboolean (* cond_timed_wait) (
        GCond* cond,
        GMutex* mutex,
        GTimeVal* end_time
      );
      void (* cond_free) (
        GCond* cond
      );
      GPrivate* (* private_new) (
        GDestroyNotify destructor
      );
      gpointer (* private_get) (
        GPrivate* private_key
      );
      void (* private_set) (
        GPrivate* private_key,
        gpointer data
      );
      void (* thread_create) (
        GThreadFunc func,
        gpointer data,
        gulong stack_size,
        gboolean joinable,
        gboolean bound,
        GThreadPriority priority,
        gpointer thread,
        GError** error
      );
      void (* thread_yield) (
    void
      );
      void (* thread_join) (
        gpointer thread
      );
      void (* thread_exit) (
    void
      );
      void (* thread_set_priority) (
        gpointer thread,
        GThreadPriority priority
      );
      void (* thread_self) (
        gpointer thread
      );
      gboolean (* thread_equal) (
        gpointer thread1,
        gpointer thread2
      );
    }

This function table is no longer used by `g_thread_init()` to initialize the thread system.

###### Structure members

`mutex_new`

  Virtual function pointer for `g_mutex_new()`

`mutex_lock`

  Virtual function pointer for `g_mutex_lock()`

`mutex_trylock`

  Virtual function pointer for `g_mutex_trylock()`

`mutex_unlock`

  Virtual function pointer for `g_mutex_unlock()`

`mutex_free`

  Virtual function pointer for `g_mutex_free()`

`cond_new`

  Virtual function pointer for `g_cond_new()`

`cond_signal`

  Virtual function pointer for `g_cond_signal()`

`cond_broadcast`

  Virtual function pointer for `g_cond_broadcast()`

`cond_wait`

  Virtual function pointer for `g_cond_wait()`

`cond_timed_wait`

  Virtual function pointer for `g_cond_timed_wait()`

`cond_free`

  Virtual function pointer for `g_cond_free()`

`private_new`

  Virtual function pointer for `g_private_new()`

`private_get`

  Virtual function pointer for `g_private_get()`

`private_set`

  Virtual function pointer for `g_private_set()`

`thread_create`

  Virtual function pointer for `g_thread_create()`

`thread_yield`

  Virtual function pointer for `g_thread_yield()`

`thread_join`

  Virtual function pointer for `g_thread_join()`

`thread_exit`

  Virtual function pointer for `g_thread_exit()`

`thread_set_priority`

  Virtual function pointer for `g_thread_set_priority()`

`thread_self`

  Virtual function pointer for `g_thread_self()`

`thread_equal`

  Used internally by recursive mutex locks and by some assertion checks.

Available since: 2.0