For what environment? Threads are a system-dependent feature and can be implemented at various levels of the system.
POSIX is a pretty commonly used threading library on Linux-based systems; you basically call a "create thread" function and pass it a function pointer for whatever code it is that you want to run asynchronously. Primitives like mutexes and semaphores are included.
This is a good overview of POSIX threading.