Threading is a cross platform library of threading primitives using native facilities. On WIN* systems native Windows primitives are used. On other platforms posix threads (pthread) primitives are used. The objects abstract the native platform and provide a consistent model for most multi-threaded applications. Especially useful are scope safe mutex primitives and producer-consumer control mechanisms.