Note that there are some explanatory texts on larger screens.

plurals
  1. POMulti-Threading support in c11
    primarykey
    data
    text
    <p>The new C11 standard provides a support for Multi-Threading.<br> My Questions are a bit diversified but definitely answerable.<br> I have had a look at the C11 <strong><a href="http://www.open-std.org/jtc1/sc22/wg14/www/docs/n1570.pdf" rel="noreferrer">n1570</a></strong> draft.<br> It says: </p> <blockquote> <p>support for multiple threads of execution including an improved memory sequencing model, atomic objects, and thread-local storage (<code>&lt;stdatomic.h&gt;</code> and <code>&lt;threads.h&gt;</code>)</p> </blockquote> <p>What is the <strong>Improved memory sequencing model</strong>? How/What changes from the c99 Standard?</p> <p>Rather than just quotes from standard, I will appreciate if someone delves deeper in them and tries explaining the semantics involved.</p> <p>As I understand, C11 provides support for: </p> <ul> <li>Thread creation and Management </li> <li>Mutex</li> <li>Conditional Variables</li> <li>Thread Specific storage &amp;</li> <li>Atomic Objects</li> </ul> <p>I hope I didn't miss anything?<br> 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? </p> <p>Lastly, What compilers provide support for the above mentioned features? Are there any references as to timelines when these will be supported?<br> I remember for C++11 there was a link for compiler support and features, perhaps something like that?</p>
    singulars
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload