Monday 23 September 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

php - file_get_contents shows unexpected output while reading a file

I want to output an inline jpg image as a base64 encoded string, however when I do this : $contents = file_get_contents($filename); print &q...