<?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[std::cout und Multithreading]]></title><description><![CDATA[<p>So, ich nochmal <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>in meinem Programm verwende ich Multithreads die jeweils mit cout Daten auf den Bildschirm schreiben.</p>
<p>Allerdings bekomme ich nur Chaos. Mit printf() geht es ohne Probleme, nur sobald ich cout einsetzte, was ich muss,<br />
bekomme ich wirrwarr.</p>
<p>sowas zum beispiel:</p>
<p>[9[67 [6.]647 7.5:..4 451V50.e.17r8.5s4.2u.52c202h3 8e8] ]s]: a<br />
:/:V 1 eV2Vre3esr4rus5scu<br />
uhccehhe[ e 6s s7asa./a/40/35019.02723041407.50316083</p>
<p>Woran liegt das ? Kann mir das einer erklären und mir vlt sagen wie man das verhindert ?</p>
<p>Danke</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/129017/std-cout-und-multithreading</link><generator>RSS for Node</generator><lastBuildDate>Wed, 26 Aug 2026 01:42:53 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/129017.rss" rel="self" type="application/rss+xml"/><pubDate>Fri, 09 Dec 2005 12:14:39 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to std::cout und Multithreading on Fri, 09 Dec 2005 12:14:39 GMT]]></title><description><![CDATA[<p>So, ich nochmal <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>in meinem Programm verwende ich Multithreads die jeweils mit cout Daten auf den Bildschirm schreiben.</p>
<p>Allerdings bekomme ich nur Chaos. Mit printf() geht es ohne Probleme, nur sobald ich cout einsetzte, was ich muss,<br />
bekomme ich wirrwarr.</p>
<p>sowas zum beispiel:</p>
<p>[9[67 [6.]647 7.5:..4 451V50.e.17r8.5s4.2u.52c202h3 8e8] ]s]: a<br />
:/:V 1 eV2Vre3esr4rus5scu<br />
uhccehhe[ e 6s s7asa./a/40/35019.02723041407.50316083</p>
<p>Woran liegt das ? Kann mir das einer erklären und mir vlt sagen wie man das verhindert ?</p>
<p>Danke</p>
]]></description><link>https://www.c-plusplus.net/forum/post/938074</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/938074</guid><dc:creator><![CDATA[Code-Yunkee]]></dc:creator><pubDate>Fri, 09 Dec 2005 12:14:39 GMT</pubDate></item><item><title><![CDATA[Reply to std::cout und Multithreading on Fri, 09 Dec 2005 12:18:54 GMT]]></title><description><![CDATA[<p>Das liegt an Multithreading.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/938081</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/938081</guid><dc:creator><![CDATA[erklärbär]]></dc:creator><pubDate>Fri, 09 Dec 2005 12:18:54 GMT</pubDate></item><item><title><![CDATA[Reply to std::cout und Multithreading on Fri, 09 Dec 2005 12:23:56 GMT]]></title><description><![CDATA[<p>Das is mir klar,</p>
<p>cout schreibt in stdout, weil aber mehrer Threads laufen, schreibt cout eines anderen Threads mitten in die, gerade von einem anderen Thread augebenen Daten. Aber wieso macht printf das nicht ? Und wie kann man das verhindern ?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/938086</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/938086</guid><dc:creator><![CDATA[Code-Yunkee]]></dc:creator><pubDate>Fri, 09 Dec 2005 12:23:56 GMT</pubDate></item><item><title><![CDATA[Reply to std::cout und Multithreading on Fri, 09 Dec 2005 12:43:37 GMT]]></title><description><![CDATA[<p>Hab hier was dazugefunden.</p>
<p>&gt; Can I send output to the std::cout from several threads at the same<br />
&gt; time? Do I have to protect (lock/unlock) it? Which is the best way?</p>
<p>cout is thread-safe, in a sense. Each individual output operation is<br />
properly protected. However, doing something like this:</p>
<p>// thread 1<br />
cout &lt;&lt; data1 &lt;&lt; data2 &lt;&lt; data3;<br />
// thread 2<br />
cout &lt;&lt; data4 &lt;&lt; data5 &lt;&lt; data6;</p>
<p>can produce output where the data elements from different threads are<br />
randomly interleaved. Very likely this is not what you want. Which<br />
usually means you need to introduce your own locking anyway.</p>
<p>Das heißt ich muss vor der Ausgabe den stdout exclusiv für diesen cout sperren<br />
und nach der Ausgabe wieder entsperren.</p>
<p>Nur wie mach ich das lock/unlock ?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/938087</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/938087</guid><dc:creator><![CDATA[Code-Yunkee]]></dc:creator><pubDate>Fri, 09 Dec 2005 12:43:37 GMT</pubDate></item><item><title><![CDATA[Reply to std::cout und Multithreading on Fri, 09 Dec 2005 13:19:05 GMT]]></title><description><![CDATA[<p>mutex</p>
]]></description><link>https://www.c-plusplus.net/forum/post/938132</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/938132</guid><dc:creator><![CDATA[bluecode]]></dc:creator><pubDate>Fri, 09 Dec 2005 13:19:05 GMT</pubDate></item><item><title><![CDATA[Reply to std::cout und Multithreading on Fri, 09 Dec 2005 18:06:41 GMT]]></title><description><![CDATA[<p>oder CriticalSections</p>
<p><a href="http://www.c-plusplus.net/forum/viewtopic-var-t-is-123455-and-highlight-is-.html" rel="nofollow">http://www.c-plusplus.net/forum/viewtopic-var-t-is-123455-and-highlight-is-.html</a></p>
]]></description><link>https://www.c-plusplus.net/forum/post/938363</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/938363</guid><dc:creator><![CDATA[anonymus]]></dc:creator><pubDate>Fri, 09 Dec 2005 18:06:41 GMT</pubDate></item></channel></rss>