Monday, September 23, 2019

c - Multi-Threading support in c11

The new C11 standard provides a support for Multi-Threading.
My Questions are a bit diversified but definitely answerable.
I have had a look at the C11 n1570 draft.
It says:




support for multiple threads of execution including an improved memory sequencing
model, atomic objects, and thread-local storage ( and )




What is the Improved memory sequencing model? How/What changes from the c99 Standard?



Rather than just quotes from standard, I will appreciate if someone delves deeper in them and tries explaining the semantics involved.



As I understand, C11 provides support for:




  • Thread creation and Management

  • Mutex

  • Conditional Variables

  • Thread Specific storage &

  • Atomic Objects



I hope I didn't miss anything?
Since now the Standard library itself provides(will provide) all the functionalities needed for Multi-Threading, there would be no need for POSIX and such libraries(for Multi-Threading support) in future?



Lastly, What compilers provide support for the above mentioned features? Are there any references as to timelines when these will be supported?
I remember for C++11 there was a link for compiler support and features, perhaps something like that?

No comments:

Post a Comment

hard drive - Leaving bad sectors in unformatted partition?

Laptop was acting really weird, and copy and seek times were really slow, so I decided to scan the hard drive surface. I have a couple hundr...