GLib Core Application Support

The Main Event Loop - manages all available sources of events
Threads - thread abstraction; including threads, different mutexes, conditions and thread private data
Thread Pools - pools of threads to execute work concurrently
Asynchronous Queues - asynchronous communication between threads
Dynamic Loading of Modules - portable method for dynamically loading 'plug-ins'
Memory Allocation - general memory-handling
IO Channels - portable support for using files, pipes and sockets
Error Reporting - a system for reporting errors
Message Output and Debugging Functions - functions to output messages and help debug applications
Message Logging - versatile support for logging messages with different levels of importance