# Glib::StaticMutex Struct Reference
[Threads]

Like Glib::Mutex, but can be defined at compile time. More...

`#include <glibmm/thread.h>`

List of all members.

## Public Member Functions
void | lock ()
bool | trylock ()
void | unlock ()
| operator Mutex& ()
GStaticMutex* | gobj ()
## Related Functions
(Note that these are not member functions.)
| GLIBMM_STATIC_MUTEX_INIT
| Initializer macro for Glib::StaticMutex.

## Detailed Description

Like Glib::Mutex, but can be defined at compile time.

Use `GLIBMM_STATIC_MUTEX_INIT` to initialize a StaticMutex:

     Glib::StaticMutex mutex = GLIBMM_STATIC_MUTEX_INIT;

A StaticMutex can be used without calling Glib::thread_init(), it will silently do nothing then. That will also work when using the implicit conversion to Mutex&, thus you can safely use Mutex::Lock with a StaticMutex.

## Member Function Documentation

GStaticMutex* Glib::StaticMutex::gobj | ( |  | ) | `[inline]`

void Glib::StaticMutex::lock | ( |  | ) |

Glib::StaticMutex::operator Mutex& | ( |  | ) |

bool Glib::StaticMutex::trylock | ( |  | ) |

void Glib::StaticMutex::unlock | ( |  | ) |

## Friends And Related Function Documentation

GLIBMM_STATIC_MUTEX_INIT`[related]`

Initializer macro for Glib::StaticMutex.