<?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[Suche Beispiel für einen bzw. mehrere Thread(s) mit Critical Section]]></title><description><![CDATA[<p>Hallo,</p>
<p>suche ein Beispiel mit ein paar Zeilen der Erklärung geht auch ohne Erklärung), wie ich eine Critical Section einrichte, betrete, verlasse... <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>Bin für jeden Tip dankbar!</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/179232/suche-beispiel-für-einen-bzw-mehrere-thread-s-mit-critical-section</link><generator>RSS for Node</generator><lastBuildDate>Sat, 18 Apr 2026 22:17:59 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/179232.rss" rel="self" type="application/rss+xml"/><pubDate>Thu, 19 Apr 2007 15:57:18 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Suche Beispiel für einen bzw. mehrere Thread(s) mit Critical Section on Thu, 19 Apr 2007 15:57:18 GMT]]></title><description><![CDATA[<p>Hallo,</p>
<p>suche ein Beispiel mit ein paar Zeilen der Erklärung geht auch ohne Erklärung), wie ich eine Critical Section einrichte, betrete, verlasse... <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>Bin für jeden Tip dankbar!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1269383</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1269383</guid><dc:creator><![CDATA[autodidakt]]></dc:creator><pubDate>Thu, 19 Apr 2007 15:57:18 GMT</pubDate></item><item><title><![CDATA[Reply to Suche Beispiel für einen bzw. mehrere Thread(s) mit Critical Section on Thu, 19 Apr 2007 17:22:18 GMT]]></title><description><![CDATA[<p>*lol*<br />
man sieht das du Multithreading machst, ein Thread im Forum reicht dir nicht mehr <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>Also das ganz MT Zeugs ist in der &lt;afxmt.h&gt; drinne.</p>
<p>Eine <strong>CCriticalSection</strong> kannst du mit <strong>Lock</strong> sperren und mit <strong>Unlock</strong> wieder entsperren.<br />
Sobald gelockt ist, geht in den folgenden Abschnitt nur ein Thread rein, alle anderen müssen warten, bis wieder Unlock aufgerufen wurde.</p>
<p>Wenn du <strong>eine</strong> Variable in <strong>verschiedenen</strong> Therads benutzen willst, ummantelst du diese mit der CriticalSection, wichtig ist natürlich, dass dafür <strong>diesselbe</strong> Instanz von CCriticalSection genutzt wird!</p>
<pre><code class="language-cpp">CCriticalSection sec;
int count = 0;

void thread1Func()
{
    int i = 0;
    while(i &lt; 1000)
    {
        sec.Lock();
        ++count;
        sec.Unlock();
        Sleep(500);
    }
}

void thread2Func()
{
    int i = 0;
    while(i &lt; 3000)
    {
        sec.Lock();
        --count;
        sec.Unlock();
        Sleep(200);
    }
}
</code></pre>
<p>Das ist jetzt ein recht sinnfreies Bsp. aber ich denke, der Grundgedanke kommt rüber.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1269455</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1269455</guid><dc:creator><![CDATA[Pellaeon]]></dc:creator><pubDate>Thu, 19 Apr 2007 17:22:18 GMT</pubDate></item><item><title><![CDATA[Reply to Suche Beispiel für einen bzw. mehrere Thread(s) mit Critical Section on Thu, 19 Apr 2007 18:10:07 GMT]]></title><description><![CDATA[<p><img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f603.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--grinning_face_with_big_eyes"
      title=":D"
      alt="😃"
    /> durch parallelisieren Zeit gewinnen! Außerdem war vielleicht auch der erste Titel nicht so ansprechend...</p>
<p>Vielen Dank für den Code. Habe das Prinzip begriffen. Es gibt scheinbar in diesem Zusammenhang auch noch sowas wie:</p>
<pre><code class="language-cpp">EnterCriticalSection(&amp;cs);
...
LeaveCriticalSection(&amp;cs);
</code></pre>
<p>Macht das das Gleiche?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1269483</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1269483</guid><dc:creator><![CDATA[autodidakt]]></dc:creator><pubDate>Thu, 19 Apr 2007 18:10:07 GMT</pubDate></item><item><title><![CDATA[Reply to Suche Beispiel für einen bzw. mehrere Thread(s) mit Critical Section on Thu, 19 Apr 2007 18:13:25 GMT]]></title><description><![CDATA[<p>Jo, ist halt der direkte WinAPI-Aufruf</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1269486</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1269486</guid><dc:creator><![CDATA[Pellaeon]]></dc:creator><pubDate>Thu, 19 Apr 2007 18:13:25 GMT</pubDate></item></channel></rss>