<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" media="screen" href="/styles/xslt/rss.xslt"?>
<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:media="http://search.yahoo.com/mrss/" xmlns:itunes="http://www.itunes.com/dtds/podcast-1.0.dtd" xmlns:c9="http://channel9.msdn.com">
<channel>
	<title>Comment Feed for Channel 9 - Threads and Shared Variables in C++11</title>
	<atom:link rel="self" type="application/rss+xml" href="http://channel9.msdn.com/Events/GoingNative/GoingNative-2012/Threads-and-Shared-Variables-in-C-11/rss"></atom:link>
	<image>
		<url>http://ch9files.blob.core.windows.net/ch9/b54e/8ceeaa3d-551e-4184-a964-9fd4012cb54e/GoingNative2012ThreadsSharedVar_220_ch9.jpg</url>
		<title>Channel 9 - Threads and Shared Variables in C++11</title>
		<link></link>
	</image>
	<description>The C&amp;#43;&amp;#43;11 standard introduces threads into the language, and carefully defines the meaning of variables shared between threads. The design is based on the idea that meaningful multithreaded programs should, by default, behave as though threads were executed in simple interleaved fashion. This allows efficient execution only because &amp;quot;data races&amp;quot; (simultaneous non-read-only accesses to shared variables) are disallowed.&amp;nbsp; Although this basic approach is shared with some other languages, and with threads interfaces like pthreads, we tried hard to avoid their mistakes.&amp;nbsp; For example, C&amp;#43;&amp;#43;11 provides a comprehensive atomic operations library, which makes it much more feasible to avoid data races in real low-level code. I&#39;ll give a very quick overview of thread support in C&amp;#43;&amp;#43;11, and then focus on the behavior of shared variables, often called the &amp;quot;memory model&amp;quot;. I&#39;ll try to explain why, after more than 40 years of programming with shared variables, shared variables and atomic operations were still controversial, and why the C&amp;#43;&amp;#43;11 approach is the right one. </description>
	<link></link>
	<language>en</language>
	<pubDate>Tue, 21 May 2013 17:39:39 GMT</pubDate>
	<lastBuildDate>Tue, 21 May 2013 17:39:39 GMT</lastBuildDate>
	<generator>Rev9</generator>
	<item>
		<title>Re: Threads and Shared Variables in C++11</title>
		<description>
			<![CDATA[<p>Are slides going to be published at some point?</p><p>posted by AndresPetralli</p>]]>
		</description>
		<link>http://channel9.msdn.com/Events/GoingNative/GoingNative-2012/Threads-and-Shared-Variables-in-C-11#c634638101951715540</link>
		<pubDate>Thu, 02 Feb 2012 20:09:55 GMT</pubDate>
		<guid isPermaLink="true">http://channel9.msdn.com/Events/GoingNative/GoingNative-2012/Threads-and-Shared-Variables-in-C-11#c634638101951715540</guid>
		<dc:creator>AndresPetralli</dc:creator>
	</item>
	<item>
		<title>Re: Threads and Shared Variables in C++11</title>
		<description>
			<![CDATA[<p>I'm interested in the slides too, I missed the keynote and the first part of Hans's session</p><p>posted by tocsa</p>]]>
		</description>
		<link>http://channel9.msdn.com/Events/GoingNative/GoingNative-2012/Threads-and-Shared-Variables-in-C-11#c634638108468172653</link>
		<pubDate>Thu, 02 Feb 2012 20:20:46 GMT</pubDate>
		<guid isPermaLink="true">http://channel9.msdn.com/Events/GoingNative/GoingNative-2012/Threads-and-Shared-Variables-in-C-11#c634638108468172653</guid>
		<dc:creator>tocsa</dc:creator>
	</item>
	<item>
		<title>Re: Threads and Shared Variables in C++11</title>
		<description>
			<![CDATA[<p>@<span>El Cubico That's utterly useless... &nbsp;Recommended to not download, it's just&nbsp;<span>El Cubico's bad manner upon Boehm's talk concerning his foreign accent. I&nbsp;actually&nbsp;want to hear the content not your&nbsp;ridiculous&nbsp;edit.</span></span></p><p>posted by HeavensRevenge</p>]]>
		</description>
		<link>http://channel9.msdn.com/Events/GoingNative/GoingNative-2012/Threads-and-Shared-Variables-in-C-11#c634639050607260529</link>
		<pubDate>Fri, 03 Feb 2012 22:31:00 GMT</pubDate>
		<guid isPermaLink="true">http://channel9.msdn.com/Events/GoingNative/GoingNative-2012/Threads-and-Shared-Variables-in-C-11#c634639050607260529</guid>
		<dc:creator>HeavensRevenge</dc:creator>
	</item>
	<item>
		<title>Re: Threads and Shared Variables in C++11</title>
		<description>
			<![CDATA[<p></p><blockquote><div class="quoteText"><p></p><p><a class="permalink" title="Comment Permalink" href="/Events/GoingNative/GoingNative-2012/Threads-and-Shared-Variables-in-C-11#c634639050607260529">1 day&nbsp;ago</a>, <a href="/Niners/HeavensRevenge">HeavensRevenge</a> wrote</p><p>@<span>El Cubico That's utterly useless... &nbsp;Recommended to not download, it's just&nbsp;<span>El Cubico's bad manner upon Boehm's talk concerning his foreign accent. I&nbsp;actually&nbsp;want to hear the content not your&nbsp;ridiculous&nbsp;edit.</span></span></p><p></p></div></blockquote><p></p><p>I agree. Removed.</p><p>C</p><p>posted by Charles</p>]]>
		</description>
		<link>http://channel9.msdn.com/Events/GoingNative/GoingNative-2012/Threads-and-Shared-Variables-in-C-11#c634640056935775354</link>
		<pubDate>Sun, 05 Feb 2012 02:28:13 GMT</pubDate>
		<guid isPermaLink="true">http://channel9.msdn.com/Events/GoingNative/GoingNative-2012/Threads-and-Shared-Variables-in-C-11#c634640056935775354</guid>
		<dc:creator>Charles</dc:creator>
	</item>
	<item>
		<title>Re: Threads and Shared Variables in C++11</title>
		<description>
			<![CDATA[In slide 33 Hans has a typo at the bottom of the page&#58;<br><br>Frequently breaks repeatably in practice.<br><br>Should read&#58;<br><br>Frequently breaks repeatedly in practice.<br><p>posted by Javier Estrada</p>]]>
		</description>
		<link>http://channel9.msdn.com/Events/GoingNative/GoingNative-2012/Threads-and-Shared-Variables-in-C-11#c634642288721266635</link>
		<pubDate>Tue, 07 Feb 2012 16:27:52 GMT</pubDate>
		<guid isPermaLink="true">http://channel9.msdn.com/Events/GoingNative/GoingNative-2012/Threads-and-Shared-Variables-in-C-11#c634642288721266635</guid>
		<dc:creator>Javier Estrada</dc:creator>
	</item>
	<item>
		<title>Re: Threads and Shared Variables in C++11</title>
		<description>
			<![CDATA[<p>@Javier Estrada: No, I don't think it's a typo. He actually means 'repeatably', as in 'in a repeatable way'.</p><p>He actually explains during the talk that compilers will typically treat the 'done' variable as a loop invariant and only read it once, which means the loop will either execute forever or not at all - a predictable, <em>repeatable</em>, behaviour (not the more-common unpredictable mess that you may get from programs containing data races).</p><p>posted by bog</p>]]>
		</description>
		<link>http://channel9.msdn.com/Events/GoingNative/GoingNative-2012/Threads-and-Shared-Variables-in-C-11#c634645702435464056</link>
		<pubDate>Sat, 11 Feb 2012 15:17:23 GMT</pubDate>
		<guid isPermaLink="true">http://channel9.msdn.com/Events/GoingNative/GoingNative-2012/Threads-and-Shared-Variables-in-C-11#c634645702435464056</guid>
		<dc:creator>bog</dc:creator>
	</item>
	<item>
		<title>Re: Threads and Shared Variables in C++11</title>
		<description>
			<![CDATA[The example on slide 36&#58;<br><br>I understand what it says. But isn&#39;t this a too high performance hit&#63; On the one hand one gives the compiler lots of freedom and one has to ensure proper memory barriers for a single variable. But for variables that are next to each other everything has to be synchronized properly by the compiler.<br><br>For current architectures protecting neighbouring variables might be a different issue than protecting the same variable. But how about possible future systems where neighbouring variables have to be treated in the same way as a single one when it comes to concurrent access by different cpus&#63; When the number of cpus in a system goes into the thousands the necessary cache coherence protocol traffic might forbid the current model.<p>posted by Christoph</p>]]>
		</description>
		<link>http://channel9.msdn.com/Events/GoingNative/GoingNative-2012/Threads-and-Shared-Variables-in-C-11#c634646005509566035</link>
		<pubDate>Sat, 11 Feb 2012 23:42:30 GMT</pubDate>
		<guid isPermaLink="true">http://channel9.msdn.com/Events/GoingNative/GoingNative-2012/Threads-and-Shared-Variables-in-C-11#c634646005509566035</guid>
		<dc:creator>Christoph</dc:creator>
	</item>
	<item>
		<title>Re: Threads and Shared Variables in C++11</title>
		<description>
			<![CDATA[Thanks&#33;<br>We definitely need more info on what we can and can&#39;t do.<br>There&#39;s a missing bracket on slide 52. 8 - &#41;<p>posted by ANet</p>]]>
		</description>
		<link>http://channel9.msdn.com/Events/GoingNative/GoingNative-2012/Threads-and-Shared-Variables-in-C-11#c634647471152725949</link>
		<pubDate>Mon, 13 Feb 2012 16:25:15 GMT</pubDate>
		<guid isPermaLink="true">http://channel9.msdn.com/Events/GoingNative/GoingNative-2012/Threads-and-Shared-Variables-in-C-11#c634647471152725949</guid>
		<dc:creator>ANet</dc:creator>
	</item>
	<item>
		<title>Re: Threads and Shared Variables in C++11</title>
		<description>
			<![CDATA[Approx 35 minutes in, Hans talks about data races for objects as opposed to primitive types. The &#34;rule of thumb&#34; seems to be that library implementers should provide the same model for objects as the standard does for primitive types.<br><br>I guess an object &#34;read&#34; equates to a const method call, and an object &#34;write&#34; equates to a non-const method call.<br><br>Does anyone know if this is actually part of the standard&#63; Can I assume that multiple threads calling const methods on an object is safe from any C&#43;&#43;11 compiler&#47;library&#63;<br><p>posted by djw</p>]]>
		</description>
		<link>http://channel9.msdn.com/Events/GoingNative/GoingNative-2012/Threads-and-Shared-Variables-in-C-11#c634671412067658956</link>
		<pubDate>Mon, 12 Mar 2012 09:26:46 GMT</pubDate>
		<guid isPermaLink="true">http://channel9.msdn.com/Events/GoingNative/GoingNative-2012/Threads-and-Shared-Variables-in-C-11#c634671412067658956</guid>
		<dc:creator>djw</dc:creator>
	</item>
</channel>
</rss>