C: Multithreading

前端 未结 5 2473
孤街浪徒
孤街浪徒 2020-12-09 22:04

Is multithreading supported in C? If yes, then how do I try? Is there any open source library that lets me do it and is the library supported on Mac OS X?

I haven\'

相关标签:
5条回答
  • 2020-12-09 22:36

    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.

    0 讨论(0)
  • 2020-12-09 22:36

    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

    0 讨论(0)
  • 2020-12-09 22:43

    I would guess that the majority of multithreaded programming on Mac OS X is done in Objective-C or C++, not plain C. (I realize that this isn't exactly an answer to the question that you asked, but you might want to know about alternatives.) In Objective-C, you'd use NSThread or, in Snow Leopard and later, Grand Central Dispatch (GCD). In C++, you could use the threads library from boost.org, which has the advantage of being cross-platform.

    0 讨论(0)
  • 2020-12-09 22:44

    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 http://msdn.microsoft.com/en-us/library/y6h8hye8(v=vs.80).aspx.

    • 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

    0 讨论(0)
  • 2020-12-09 22:51

    Pthreads. OSX has posix support.

    0 讨论(0)
提交回复
热议问题