<?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[CList Probleme]]></title><description><![CDATA[<p>Hallo Leute,</p>
<p>hab mal wieder ein kleines Problem:<br />
in einer Applikation habe ich eine 'Queue' aus CStrings durch eine CList verwirklicht.</p>
<p>Hintergrund:<br />
ich erhalte in meinem Programm von div. Netzwerkverbindungen nachrichten, die dann an das Ende der Queue angefügt werden.<br />
Die Queue wird dann von einem Thread abgearbeitet und die Strings in ein EditView geschrieben.<br />
Im Prinzip ein einfaches logging-tool <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>Seit letzter Woche habe ich ein Problem:<br />
Wenn Daten sehr schnell eingehen und an die Queue angefügt werden, dann erhalte ich in meiner Release-Version zu unterschiedlichen Zeitpunkten eine Exception.<br />
Durch div. Debugger-Verränkungen bin ich auf die CList gekommen (Methode NewNode)</p>
<p>Hatte hier schon mal jemand gleiche oder ähnliche Probleme mit clist?<br />
Hat jemand vielleicht einen alternativ Vorschlag für mein Logging?</p>
<p>Vielen Dank und schönen Abend.</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/169180/clist-probleme</link><generator>RSS for Node</generator><lastBuildDate>Wed, 29 Apr 2026 00:35:07 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/169180.rss" rel="self" type="application/rss+xml"/><pubDate>Tue, 02 Jan 2007 21:57:37 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to CList Probleme on Tue, 02 Jan 2007 21:57:37 GMT]]></title><description><![CDATA[<p>Hallo Leute,</p>
<p>hab mal wieder ein kleines Problem:<br />
in einer Applikation habe ich eine 'Queue' aus CStrings durch eine CList verwirklicht.</p>
<p>Hintergrund:<br />
ich erhalte in meinem Programm von div. Netzwerkverbindungen nachrichten, die dann an das Ende der Queue angefügt werden.<br />
Die Queue wird dann von einem Thread abgearbeitet und die Strings in ein EditView geschrieben.<br />
Im Prinzip ein einfaches logging-tool <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>Seit letzter Woche habe ich ein Problem:<br />
Wenn Daten sehr schnell eingehen und an die Queue angefügt werden, dann erhalte ich in meiner Release-Version zu unterschiedlichen Zeitpunkten eine Exception.<br />
Durch div. Debugger-Verränkungen bin ich auf die CList gekommen (Methode NewNode)</p>
<p>Hatte hier schon mal jemand gleiche oder ähnliche Probleme mit clist?<br />
Hat jemand vielleicht einen alternativ Vorschlag für mein Logging?</p>
<p>Vielen Dank und schönen Abend.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1201488</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1201488</guid><dc:creator><![CDATA[SledgeIT]]></dc:creator><pubDate>Tue, 02 Jan 2007 21:57:37 GMT</pubDate></item><item><title><![CDATA[Reply to CList Probleme on Tue, 02 Jan 2007 21:59:41 GMT]]></title><description><![CDATA[<p>Vermutlich verwendest Du keine Synchronisation um den Zugriff auf die Liste abzusichern, oder?<br />
Du musst ein CCriticalSection verwenden, wenn Du auf die Liste zugreifen willst!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1201491</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1201491</guid><dc:creator><![CDATA[Jochen Kalmbach]]></dc:creator><pubDate>Tue, 02 Jan 2007 21:59:41 GMT</pubDate></item><item><title><![CDATA[Reply to CList Probleme on Tue, 02 Jan 2007 22:17:41 GMT]]></title><description><![CDATA[<p>Vielen Dank. Ich denke, dass das helfen sollte.</p>
<p>Ich hätte da aber noch eine Frage zur Funktionalität:<br />
Ich habe in meiner Klasse result für die Steuerung der Liste und die Ausgabe eine Methode Append.<br />
Diese erhält einen String, ruft queue.AddTail( String ) auf und setzt ein Event.<br />
Der Thread zur Verarbeitung wartet auf das Event und begint nun die Liste abzuarbeiten.<br />
Wenn in der Zwischenzeit neue Strings hinzugefügt wurden, dann werden diese gleich in einem 'Rutsch' abgearbeitet.</p>
<p>Wie sieht das aber jetzt mit der CriticalSection aus?</p>
<p>Ich würde beim Anfügen eines neuen Elements die Section locken, anfügen, freigeben und event setzen.<br />
Soweit richtig?<br />
Bedeutet das aber auch, dass ich im Thread nicht einfach so auf die Liste zugreifen kann bzw. sollte?</p>
<p>Ich glaube, ich werde morgen die Doku dazu genauer durchlesen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1201497</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1201497</guid><dc:creator><![CDATA[SledgeIT]]></dc:creator><pubDate>Tue, 02 Jan 2007 22:17:41 GMT</pubDate></item><item><title><![CDATA[Reply to CList Probleme on Wed, 03 Jan 2007 08:51:47 GMT]]></title><description><![CDATA[<p>Mit der CS musst Du es so machen (Pseudo-Code):</p>
<p>Reinstopfen:</p>
<pre><code class="language-cpp">m_CS.Enter();
m_queue.PushBack(...);
m_CS.Leave();
m_Event.Set();
</code></pre>
<p>Rausholen:</p>
<pre><code class="language-cpp">while(1)
{
  m_Event.WairFor();
  Entres *entryList;
  m_CS.Enter();
  entryList =  m_queue.getAll();
  m_CS.Leave();

  // Process entryList...
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1201602</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1201602</guid><dc:creator><![CDATA[Jochen Kalmbach]]></dc:creator><pubDate>Wed, 03 Jan 2007 08:51:47 GMT</pubDate></item><item><title><![CDATA[Reply to CList Probleme on Wed, 03 Jan 2007 14:05:12 GMT]]></title><description><![CDATA[<p>Vielen Dank.</p>
<p>Hab das ganze schon eingebaut und funktioniert super.</p>
<p>Allerdings habe ich heute morgen meine alte Version nochmals getestet - die Bedingungen waren wie gestern, allerdings heute ohne exception <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f615.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--confused_face"
      title=":confused:"
      alt="😕"
    /></p>
<p>Aber mit der CriticalSection läuft das ganze.</p>
<p>Nochmals vielen Dank.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1201938</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1201938</guid><dc:creator><![CDATA[SledgeIT]]></dc:creator><pubDate>Wed, 03 Jan 2007 14:05:12 GMT</pubDate></item><item><title><![CDATA[Reply to CList Probleme on Wed, 03 Jan 2007 14:11:37 GMT]]></title><description><![CDATA[<p>SledgeIT schrieb:</p>
<blockquote>
<p>Allerdings habe ich heute morgen meine alte Version nochmals getestet - die Bedingungen waren wie gestern, allerdings heute ohne exception <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f615.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--confused_face"
      title=":confused:"
      alt="😕"
    /></p>
</blockquote>
<p>Die Probleme werden nur vermehrt auf einem Multi-Prozessor-System (oder Hyperthreading-System seltener) auftreten...</p>
<p>=&gt; Neuen Rechner kaufen <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>
]]></description><link>https://www.c-plusplus.net/forum/post/1201946</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1201946</guid><dc:creator><![CDATA[Jochen Kalmbach]]></dc:creator><pubDate>Wed, 03 Jan 2007 14:11:37 GMT</pubDate></item></channel></rss>