<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[Frage zu atomics]]></title><description><![CDATA[<p>Hallo,</p>
<p>ich kämpfe mit atomaren Operationen und habe Verständnisfrages zu unterem code:</p>
<p>1. Wenn ich die member eines struct atomar mache, und 2 threads das Gleiche myStruct verwenden, ist dann immer gewährleistet dass jeder Thread den aktuellen Wert im struct sehen bei einem lessen von myInt z.B.?</p>
<p>2. So wie ich das sehe ist der Zugriff auf ein functionPointer atomar (zweiter member) und somit sollte der auch thread-safe sein, richtig?</p>
<p>Danke</p>
<pre><code>typedef struct myStruct {
		std::atomic&lt;int&gt; myInt;
		std::atomic&lt;my_handle&gt;		fpMyHandle;	// Pointer auf Fkt.
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/topic/337835/frage-zu-atomics</link><generator>RSS for Node</generator><lastBuildDate>Fri, 17 Apr 2026 18:08:33 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/337835.rss" rel="self" type="application/rss+xml"/><pubDate>Tue, 03 May 2016 13:31:49 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Frage zu atomics on Tue, 03 May 2016 13:31:49 GMT]]></title><description><![CDATA[<p>Hallo,</p>
<p>ich kämpfe mit atomaren Operationen und habe Verständnisfrages zu unterem code:</p>
<p>1. Wenn ich die member eines struct atomar mache, und 2 threads das Gleiche myStruct verwenden, ist dann immer gewährleistet dass jeder Thread den aktuellen Wert im struct sehen bei einem lessen von myInt z.B.?</p>
<p>2. So wie ich das sehe ist der Zugriff auf ein functionPointer atomar (zweiter member) und somit sollte der auch thread-safe sein, richtig?</p>
<p>Danke</p>
<pre><code>typedef struct myStruct {
		std::atomic&lt;int&gt; myInt;
		std::atomic&lt;my_handle&gt;		fpMyHandle;	// Pointer auf Fkt.
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/2494796</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2494796</guid><dc:creator><![CDATA[zumbo]]></dc:creator><pubDate>Tue, 03 May 2016 13:31:49 GMT</pubDate></item><item><title><![CDATA[Reply to Frage zu atomics on Tue, 03 May 2016 13:33:35 GMT]]></title><description><![CDATA[<p>zumbo schrieb:</p>
<blockquote>
<p>1. Wenn ich die member eines struct atomar mache, und 2 threads das Gleiche myStruct verwenden, ist dann immer gewährleistet dass jeder Thread den aktuellen Wert im struct sehen bei einem lessen von myInt z.B.?</p>
</blockquote>
<p>definiere &quot;aktueller Wert&quot;</p>
<p>zumbo schrieb:</p>
<blockquote>
<p>2. So wie ich das sehe ist der Zugriff auf ein functionPointer atomar (zweiter member) und somit sollte der auch thread-safe sein, richtig?</p>
</blockquote>
<p>Nur weil etwas atomar ist, heißt noch lange nicht, dass der Code, der mit dem atomaren Dings arbeitet auch threadsafe ist...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2494798</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2494798</guid><dc:creator><![CDATA[dot]]></dc:creator><pubDate>Tue, 03 May 2016 13:33:35 GMT</pubDate></item><item><title><![CDATA[Reply to Frage zu atomics on Tue, 03 May 2016 13:47:05 GMT]]></title><description><![CDATA[<blockquote>
<p>definiere &quot;aktueller Wert&quot;</p>
</blockquote>
<p>der aktuellste Wert vom gesamten Verlauf.</p>
<blockquote>
<p>Nur weil etwas atomar ist, heißt noch lange nicht, dass der Code, der mit dem atomaren Dings arbeitet auch threadsafe ist...</p>
</blockquote>
<p>stimmt, aber ist denn wenigstens der zugriff auf das Dings thread-safe?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2494799</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2494799</guid><dc:creator><![CDATA[zumbo]]></dc:creator><pubDate>Tue, 03 May 2016 13:47:05 GMT</pubDate></item><item><title><![CDATA[Reply to Frage zu atomics on Tue, 03 May 2016 13:51:09 GMT]]></title><description><![CDATA[<p>zumbo schrieb:</p>
<blockquote>
<blockquote>
<p>definiere &quot;aktueller Wert&quot;</p>
</blockquote>
<p>der aktuellste Wert vom gesamten Verlauf.</p>
</blockquote>
<p>Zwei Dinge passieren gleichzeitig. Welches der beiden passiert später? <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f609.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--winking_face"
      title=";)"
      alt="😉"
    /></p>
<p>zumbo schrieb:</p>
<blockquote>
<p>stimmt, aber ist denn wenigstens der zugriff auf das Dings thread-safe?</p>
</blockquote>
<p>Ja, die Frage ist: Was hilft dir das?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2494800</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2494800</guid><dc:creator><![CDATA[dot]]></dc:creator><pubDate>Tue, 03 May 2016 13:51:09 GMT</pubDate></item><item><title><![CDATA[Reply to Frage zu atomics on Tue, 03 May 2016 13:51:31 GMT]]></title><description><![CDATA[<p><img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f642.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--slightly_smiling_face"
      title=":-)"
      alt="🙂"
    /> ist denn der Zugriff auf myStruct thread-safe?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2494801</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2494801</guid><dc:creator><![CDATA[zumbo]]></dc:creator><pubDate>Tue, 03 May 2016 13:51:31 GMT</pubDate></item><item><title><![CDATA[Reply to Frage zu atomics on Tue, 03 May 2016 13:52:25 GMT]]></title><description><![CDATA[<p>Das hängt davon ab, wie dieser &quot;Zugriff&quot; aussieht...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2494803</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2494803</guid><dc:creator><![CDATA[dot]]></dc:creator><pubDate>Tue, 03 May 2016 13:52:25 GMT</pubDate></item><item><title><![CDATA[Reply to Frage zu atomics on Tue, 03 May 2016 13:56:14 GMT]]></title><description><![CDATA[<p>Wenn der Zugriff von 2 threads &quot;gleichzeitig&quot; passiert wie folgt:</p>
<pre><code>// thread 1 führt zu Zeitpunkt x aus:
mystruct.myInt = 7;

// thread 2 führt zu Zeitpunkt x aus:
mystruct.myInt = 8;
</code></pre>
<p>ist vermutlich ein data race auf myStruct enthalten, richtig?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2494805</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2494805</guid><dc:creator><![CDATA[zumbo]]></dc:creator><pubDate>Tue, 03 May 2016 13:56:14 GMT</pubDate></item><item><title><![CDATA[Reply to Frage zu atomics on Tue, 03 May 2016 14:02:23 GMT]]></title><description><![CDATA[<p>Nö, <code>mystruct.myInt</code> hat in dem konkreten Beispiel dann aus Sicht beider Threads entweder den Wert 7 oder 8...Die Frage ist, was dir das bringt...</p>
<p>Btw: <code>typedef struct</code> ist etwas, das man in C vielleicht macht, aber nicht in C++...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2494806</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2494806</guid><dc:creator><![CDATA[dot]]></dc:creator><pubDate>Tue, 03 May 2016 14:02:23 GMT</pubDate></item></channel></rss>