Friday, February 16, 2018

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

plot explanation - Why did Peaches' mom hang on the tree? - Movies & TV

In the middle of the movie Ice Age: Continental Drift Peaches' mom asked Peaches to go to sleep. Then, she hung on the tree. This parti...