### Struct

# GLib ThreadFunctions

#### Description [src]

    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:` `GMutex* (* mutex_new) ( void )`

  Virtual function pointer for g_mutex_new().

`mutex_lock:` `void (* mutex_lock) ( GMutex* mutex )`

  Virtual function pointer for g_mutex_lock().

`mutex_trylock:` `gboolean (* mutex_trylock) ( GMutex* mutex )`

  Virtual function pointer for g_mutex_trylock().

`mutex_unlock:` `void (* mutex_unlock) ( GMutex* mutex )`

  Virtual function pointer for g_mutex_unlock().

`mutex_free:` `void (* mutex_free) ( GMutex* mutex )`

  Virtual function pointer for g_mutex_free().

`cond_new:` `GCond* (* cond_new) ( void )`

  Virtual function pointer for g_cond_new().

`cond_signal:` `void (* cond_signal) ( GCond* cond )`

  Virtual function pointer for g_cond_signal().

`cond_broadcast:` `void (* cond_broadcast) ( GCond* cond )`

  Virtual function pointer for g_cond_broadcast().

`cond_wait:` `void (* cond_wait) ( GCond* cond, GMutex* mutex )`

  Virtual function pointer for g_cond_wait().

`cond_timed_wait:` `gboolean (* cond_timed_wait) ( GCond* cond, GMutex* mutex, GTimeVal* end_time )`

  Virtual function pointer for g_cond_timed_wait().

`cond_free:` `void (* cond_free) ( GCond* cond )`

  Virtual function pointer for g_cond_free().

`private_new:` `GPrivate* (* private_new) ( GDestroyNotify destructor )`

  Virtual function pointer for g_private_new().

`private_get:` `gpointer (* private_get) ( GPrivate* private_key )`

  Virtual function pointer for g_private_get().

`private_set:` `void (* private_set) ( GPrivate* private_key, gpointer data )`

  Virtual function pointer for g_private_set().

`thread_create:` `void (* thread_create) ( GThreadFunc func, gpointer data, gulong stack_size, gboolean joinable, gboolean bound, GThreadPriority priority, gpointer thread, GError** error )`

  Virtual function pointer for g_thread_create().

`thread_yield:` `void (* thread_yield) ( void )`

  Virtual function pointer for g_thread_yield().

`thread_join:` `void (* thread_join) ( gpointer thread )`

  Virtual function pointer for g_thread_join().

`thread_exit:` `void (* thread_exit) ( void )`

  Virtual function pointer for g_thread_exit().

`thread_set_priority:` `void (* thread_set_priority) ( gpointer thread, GThreadPriority priority )`

  Virtual function pointer for g_thread_set_priority().

`thread_self:` `void (* thread_self) ( gpointer thread )`

  Virtual function pointer for g_thread_self().

`thread_equal:` `gboolean (* thread_equal) ( gpointer thread1, gpointer thread2 )`

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