C: Multithreading
C is not intrinsically a multithreaded language; however there are many libraries which add threading functionality.
pthreads
is a library compatible with any POSIX system, so it is supported on OSX. I found https://computing.llnl.gov/tutorials/pthreads/ to be a good place to start.Win32 has a threading library for C described at https://docs.microsoft.com/en-us/cpp/parallel/multithreading-with-c-and-win32.
Glib
adds threading supported, and has the advantage of being completely cross-platform, as long as glib is installed on the target machine. There is some information here: http://developer.gnome.org/glib/2.28/glib-Threads.html
C has no concept whatever of threads. There is no thread support in C Standard. There are extensions available that can implement multi threading - one of which is pthreads.
Be aware because C language has no natural support of threads you as the programmer have to take care of everything and you will not be protected against any of the pitfalls of multi-threaded programming.
the new dialect - C1X, will offer multi-threading out of the box, as stated from wikipedia:
Multithreading support (_Thread_local storage-class specifier, header including thread creation/management functions, mutex, condition variable and thread-specific storage functionality, as well as the _Atomic type qualifier and for uninterruptible object access).
currently of courae as mentioned above, multi-threading is not supported in the newest dialect of c - C99