<?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[Betriebssysteme-&amp;gt;deadlocks]]></title><description><![CDATA[<p>Hi,</p>
<p>wir nehmen momentan in Betriebssysteme Deadlocks durch. Ich bin jeden Tag<br />
am Computer und hab noch nie einen Deadlock mitbekommen?!</p>
<p>Dann noch zur Entstehung eines deadlocks. Es muss eine zirkuläre Abhänigkeit bestehen.</p>
<p>Prozess A hat Resource F zugeteilt bekommen und fordert zusätzlich Resoure G<br />
an. Resoure G ist aber Prozess B zugeteilt. Ist das schon ein Deadlock oder<br />
muss Resource B auch noch Resource F anforden ? Oder geht man bei einem<br />
Deadlock davon aus dass wirklich alle vorhandenen Prozesse lahmgelegt sind.<br />
Schließlich könnte Prozess B in meinem Beispiel normal weiterarbeiten .</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/259220/betriebssysteme-gt-deadlocks</link><generator>RSS for Node</generator><lastBuildDate>Sun, 26 Apr 2026 08:39:50 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/259220.rss" rel="self" type="application/rss+xml"/><pubDate>Wed, 20 Jan 2010 15:50:06 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Betriebssysteme-&amp;gt;deadlocks on Wed, 20 Jan 2010 15:50:06 GMT]]></title><description><![CDATA[<p>Hi,</p>
<p>wir nehmen momentan in Betriebssysteme Deadlocks durch. Ich bin jeden Tag<br />
am Computer und hab noch nie einen Deadlock mitbekommen?!</p>
<p>Dann noch zur Entstehung eines deadlocks. Es muss eine zirkuläre Abhänigkeit bestehen.</p>
<p>Prozess A hat Resource F zugeteilt bekommen und fordert zusätzlich Resoure G<br />
an. Resoure G ist aber Prozess B zugeteilt. Ist das schon ein Deadlock oder<br />
muss Resource B auch noch Resource F anforden ? Oder geht man bei einem<br />
Deadlock davon aus dass wirklich alle vorhandenen Prozesse lahmgelegt sind.<br />
Schließlich könnte Prozess B in meinem Beispiel normal weiterarbeiten .</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1842090</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1842090</guid><dc:creator><![CDATA[blurry333]]></dc:creator><pubDate>Wed, 20 Jan 2010 15:50:06 GMT</pubDate></item><item><title><![CDATA[Reply to Betriebssysteme-&amp;gt;deadlocks on Wed, 20 Jan 2010 16:02:28 GMT]]></title><description><![CDATA[<blockquote>
<p>Prozess A hat Resource F zugeteilt bekommen und fordert zusätzlich Resoure G<br />
an. Resoure G ist aber Prozess B zugeteilt. Ist das schon ein Deadlock oder<br />
muss Resource B auch noch Resource F anforden ?</p>
</blockquote>
<p>Das ist noch kein Deadlock, so lange Prozess (Thread) B die Resource G wieder freigibt.<br />
Wenn Prozess (Thread) B die Resource G allerdings erst freigeben würde, nachdem er Resource F zugeteilt bekommen hat, dann wäre es ein Deadlock.</p>
<p>Dann warten nämlich beide Prozesse auf eine Resource, die der jeweils andere gerade &quot;gesperrt&quot; hat. Da keiner der Prozesse die Resource freigibt die er bereits &quot;hat&quot;, kann hier nie mehr was weitergehen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1842095</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1842095</guid><dc:creator><![CDATA[hustbaer]]></dc:creator><pubDate>Wed, 20 Jan 2010 16:02:28 GMT</pubDate></item><item><title><![CDATA[Reply to Betriebssysteme-&amp;gt;deadlocks on Wed, 20 Jan 2010 16:03:10 GMT]]></title><description><![CDATA[<p>blurry333 schrieb:</p>
<blockquote>
<p>Dann noch zur Entstehung eines deadlocks. Es muss eine zirkuläre Abhänigkeit bestehen.</p>
<p>Prozess A hat Resource F zugeteilt bekommen und fordert zusätzlich Resoure G<br />
an. Resoure G ist aber Prozess B zugeteilt. Ist das schon ein Deadlock oder<br />
muss Resource B auch noch Resource F anforden ? Oder geht man bei einem<br />
Deadlock davon aus dass wirklich alle vorhandenen Prozesse lahmgelegt sind.<br />
Schließlich könnte Prozess B in meinem Beispiel normal weiterarbeiten .</p>
</blockquote>
<p>Es gibt 4 Bedingungen, die für einen Deadlock alle erfüllt sein müssen: <a href="http://en.wikipedia.org/wiki/Deadlock#Necessary_conditions" rel="nofollow">http://en.wikipedia.org/wiki/Deadlock#Necessary_conditions</a></p>
<p>Zirkuläre Abhängigkeit ist nur eine davon.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1842097</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1842097</guid><dc:creator><![CDATA[Christoph]]></dc:creator><pubDate>Wed, 20 Jan 2010 16:03:10 GMT</pubDate></item><item><title><![CDATA[Reply to Betriebssysteme-&amp;gt;deadlocks on Wed, 20 Jan 2010 16:09:31 GMT]]></title><description><![CDATA[<p>Viele Programme warten nicht darauf das die Resource frei wird, sondern beenden sich einfach und zeigen einen Fehler. Damit werden natürlich die schon belegten Resourcen frei und andere Programme können weiter laufen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1842098</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1842098</guid><dc:creator><![CDATA[Tobiking2]]></dc:creator><pubDate>Wed, 20 Jan 2010 16:09:31 GMT</pubDate></item><item><title><![CDATA[Reply to Betriebssysteme-&amp;gt;deadlocks on Wed, 20 Jan 2010 16:16:58 GMT]]></title><description><![CDATA[<p>Kommen deadlocks überhaupt noch vor ?</p>
<p>Schließlich sind die Betriebssysteme von heute nicht mehr mit DOS aus den<br />
80er Jahren zu vergleichen. Die Algorithmen müßten doch so gut sein<br />
dass es keine deadlocks mehr geben kann ?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1842100</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1842100</guid><dc:creator><![CDATA[blurry333]]></dc:creator><pubDate>Wed, 20 Jan 2010 16:16:58 GMT</pubDate></item><item><title><![CDATA[Reply to Betriebssysteme-&amp;gt;deadlocks on Wed, 20 Jan 2010 16:31:13 GMT]]></title><description><![CDATA[<p>blurry333 schrieb:</p>
<blockquote>
<p>Kommen deadlocks überhaupt noch vor ?</p>
</blockquote>
<p>Warum sollten Deadlocks nicht mehr vorkommen? Das hat auch nichts mit Algorithmen zu tun, sondern eher mit der Frage was soll man machen wenn man eine Ressource nicht ansprechen kann. Soll man warten, abbrechen...</p>
<p>Wie soll das OS Deadlock bitte schön vermeiden?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1842104</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1842104</guid><dc:creator><![CDATA[asc]]></dc:creator><pubDate>Wed, 20 Jan 2010 16:31:13 GMT</pubDate></item><item><title><![CDATA[Reply to Betriebssysteme-&amp;gt;deadlocks on Wed, 20 Jan 2010 17:06:42 GMT]]></title><description><![CDATA[<p>blurry333 schrieb:</p>
<blockquote>
<p>Schließlich sind die Betriebssysteme von heute nicht mehr mit DOS aus den<br />
80er Jahren zu vergleichen.</p>
</blockquote>
<p>DOS hatte als Single-Task-Betriebssystem natürlich kein Deadlock-Problem.</p>
<p><a class="plugin-mentions-user plugin-mentions-a" href="https://www.c-plusplus.net/forum/uid/14941">@asc</a>, die Wikipedia-Seite für Deadlock zählt einige Strategien auf, das sieht ganz interessant aus.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1842123</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1842123</guid><dc:creator><![CDATA[Bashar]]></dc:creator><pubDate>Wed, 20 Jan 2010 17:06:42 GMT</pubDate></item><item><title><![CDATA[Reply to Betriebssysteme-&amp;gt;deadlocks on Wed, 20 Jan 2010 17:52:31 GMT]]></title><description><![CDATA[<p>Deadlocks kommen meist innerhalb eines Prozesses vor.</p>
<p>Wenn auf &quot;externe&quot; Dinge zugegriffen wird, also wenn es um Dinge geht auf die auch andere Prozesse zugreifen können, sind die meisten Programmierer Gott sei Dank so schlau, dass sie irgendwelche Timeouts verwenden.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1842154</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1842154</guid><dc:creator><![CDATA[hustbaer]]></dc:creator><pubDate>Wed, 20 Jan 2010 17:52:31 GMT</pubDate></item><item><title><![CDATA[Reply to Betriebssysteme-&amp;gt;deadlocks on Wed, 20 Jan 2010 18:00:17 GMT]]></title><description><![CDATA[<p>Installiere Eclipse mit ein paar Plugins und mit etwas Glück gibts nach dem Start nen Deadlock <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/1842158</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1842158</guid><dc:creator><![CDATA[krabbels]]></dc:creator><pubDate>Wed, 20 Jan 2010 18:00:17 GMT</pubDate></item><item><title><![CDATA[Reply to Betriebssysteme-&amp;gt;deadlocks on Wed, 20 Jan 2010 19:54:14 GMT]]></title><description><![CDATA[<p>blurry333 schrieb:</p>
<blockquote>
<p>Kommen deadlocks überhaupt noch vor ?<br />
Schließlich sind die Betriebssysteme von heute nicht mehr mit DOS aus den<br />
80er Jahren zu vergleichen. Die Algorithmen müßten doch so gut sein<br />
dass es keine deadlocks mehr geben kann</p>
</blockquote>
<p>dead- und andere locks können immer passieren, wenn man mist programmiert hat. sogar unter DOS, ein multitasking-OS ist nicht nötig dafür.<br />
<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="🙂"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1842212</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1842212</guid><dc:creator><![CDATA[;fricky]]></dc:creator><pubDate>Wed, 20 Jan 2010 19:54:14 GMT</pubDate></item><item><title><![CDATA[Reply to Betriebssysteme-&amp;gt;deadlocks on Wed, 20 Jan 2010 22:26:16 GMT]]></title><description><![CDATA[<p>;fricky schrieb:</p>
<blockquote>
<p>sogar unter DOS, ein multitasking-OS ist nicht nötig dafür.<br />
<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="🙂"
    /></p>
</blockquote>
<p>Du meinst, wenn irgendwelche TSRs sich verhaken? Egal, ich bleibe bei der Aussage. DOS hatte viele Probleme, aber besondere Anfälligkeit für Deadlocks war nicht dabei.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1842311</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1842311</guid><dc:creator><![CDATA[Bashar]]></dc:creator><pubDate>Wed, 20 Jan 2010 22:26:16 GMT</pubDate></item><item><title><![CDATA[Reply to Betriebssysteme-&amp;gt;deadlocks on Wed, 20 Jan 2010 22:40:01 GMT]]></title><description><![CDATA[<p>Wenn man beim Deadlock von Resourcen spricht, meint man da hauptsächlich<br />
Prozessorzeit und Hauptspeicher ?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1842315</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1842315</guid><dc:creator><![CDATA[blurry333]]></dc:creator><pubDate>Wed, 20 Jan 2010 22:40:01 GMT</pubDate></item><item><title><![CDATA[Reply to Betriebssysteme-&amp;gt;deadlocks on Wed, 20 Jan 2010 23:53:11 GMT]]></title><description><![CDATA[<p>Nein, da spricht man eher von Dateizugriffen, falsch programmierten Semaphoren wo sich jeder aussperrt, etc. Evtl. ist auch Locking von Hauptspeicher-Bereichen vorstellbar (Shared memory...) aber Prozessorzeit nicht.</p>
<p>MfG SideWinder</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1842352</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1842352</guid><dc:creator><![CDATA[SideWinder]]></dc:creator><pubDate>Wed, 20 Jan 2010 23:53:11 GMT</pubDate></item><item><title><![CDATA[Reply to Betriebssysteme-&amp;gt;deadlocks on Thu, 21 Jan 2010 01:07:21 GMT]]></title><description><![CDATA[<p>Bashar schrieb:</p>
<blockquote>
<p>Du meinst, wenn irgendwelche TSRs sich verhaken?</p>
</blockquote>
<p>nö, auch in sequentiellem code, wenn z.b. zwei codeabschnitte ständig übersprungen werden, weil nur der jeweils andere dafür sorgen kann, dass das bei dem einen nicht mehr passiert.</p>
<p>Bashar schrieb:</p>
<blockquote>
<p>Egal, ich bleibe bei der Aussage. DOS hatte viele Probleme, aber besondere Anfälligkeit für Deadlocks war nicht dabei.</p>
</blockquote>
<p>hast ja auch recht. wenn multitasking im spiel ist, ist die verklemmungsgefahr viel höher, das bringt die sache so mit sich.<br />
<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="🙂"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1842378</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1842378</guid><dc:creator><![CDATA[;fricky]]></dc:creator><pubDate>Thu, 21 Jan 2010 01:07:21 GMT</pubDate></item><item><title><![CDATA[Reply to Betriebssysteme-&amp;gt;deadlocks on Thu, 21 Jan 2010 01:17:10 GMT]]></title><description><![CDATA[<p>;fricky schrieb:</p>
<blockquote>
<p>nö, auch in sequentiellem code, wenn z.b. zwei codeabschnitte ständig übersprungen werden, weil nur der jeweils andere dafür sorgen kann, dass das bei dem einen nicht mehr passiert.</p>
</blockquote>
<p>Es stellt sich eben die Frage, ob das noch als &quot;Deadlock&quot; durchgeht.</p>
<p>Ein besonders schön anfälliges Exempel für solchen Code wäre das hier - die einzige Stelle in C++, wo ich bis jetzt eine Anwendung für goto gefunden habe:</p>
<pre><code class="language-cpp">TPoint TImageDrawer::TImageSection::getBoundaryPoint (TRect rect, TPoint point, double angle)
{
    static const double epsilon = 0.00001;

    if (!rect.Contains (point))
        return point;

    double dx = std::cos (angle),
           dy = std::sin (angle);
    bool dxIsNotNull = std::abs (dx) &gt; epsilon,
         dyIsNotNull = std::abs (dy) &gt; epsilon;
    long w = rect.Width (),
         h = rect.Height ();

    TPoint retval;
    switch (angleToQuadrant (angle))
    {
    case_0: // C# supports &quot;goto case&quot;. C++ apparently doesn't.
    case 0:
            // Right boundary
        if (dxIsNotNull)
        {
            retval.x = rect.left + w - 1;
            retval.y = point.y + dy / dx * (retval.x - point.x) + 0.5 /* round */;
            if (retval.y &gt;= rect.top &amp;&amp; retval.y &lt;= rect.top + h)
                return retval;
        }

    case 1:
            // Bottom boundary
        if (dyIsNotNull)
        {
            retval.y = rect.top + h - 1;
            retval.x = point.x + dx / dy * (retval.y - point.y) + 0.5 /* round */;
            if (retval.x &gt;= rect.left &amp;&amp; retval.x &lt;= rect.left + w)
                return retval;
        }

    case 2:
            // Left boundary
        if (dxIsNotNull)
        {
            retval.x = rect.left;
            retval.y = point.y + dy / dx * (retval.x - point.x) + 0.5 /* round */;
            if (retval.y &gt;= rect.top &amp;&amp; retval.y &lt;= rect.top + h)
                return retval;
        }

    case 3:
            // Top boundary
        if (dyIsNotNull)
        {
            retval.y = rect.top;
            retval.x = point.x + dx / dy * (retval.y - point.y) + 0.5 /* round */;
            if (retval.x &gt;= rect.left &amp;&amp; retval.x &lt;= rect.left + w)
                return retval;
        }

        goto case_0; // Ain't that an elegant goto?
    }

    return TPoint (-1, -1); // Satisfy the compiler.
}
</code></pre>
<p>SCNR <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="😃"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1842379</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1842379</guid><dc:creator><![CDATA[audacia]]></dc:creator><pubDate>Thu, 21 Jan 2010 01:17:10 GMT</pubDate></item><item><title><![CDATA[Reply to Betriebssysteme-&amp;gt;deadlocks on Thu, 21 Jan 2010 07:57:48 GMT]]></title><description><![CDATA[<p>audacia schrieb:</p>
<blockquote>
<p>Ein besonders schön anfälliges Exempel für solchen Code wäre das hier ...</p>
</blockquote>
<p>^^das ist ja bloss eine endlosschleife.<br />
was ich meine, geht etwa so (simples beispiel, in der realität sind solche hänger meistens nicht so offensichtlich):</p>
<pre><code>int t;

void process_1 (void)
{
   if (t &gt; 9)
      return;
   t++;
   puts (&quot;p1 running&quot;);
}

void process_2 (void)
{
   if (t &gt; 5)
      return;
   t++;
   puts (&quot;p2 running&quot;);
}

int main (void)
{
   for(;;)
   {
      process_1();
      process_2();
      ...
      // noch mehr code, der davon nicht betroffen ist
      ...
   }
}
</code></pre>
<p>^^ keiner von beiden setzt 't' zurück, deswegen blockt es. beide würden weiterlaufen, wenn's einer tun würde.<br />
<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="🙂"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1842434</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1842434</guid><dc:creator><![CDATA[;fricky]]></dc:creator><pubDate>Thu, 21 Jan 2010 07:57:48 GMT</pubDate></item><item><title><![CDATA[Reply to Betriebssysteme-&amp;gt;deadlocks on Thu, 21 Jan 2010 10:14:14 GMT]]></title><description><![CDATA[<p>mal nee andere Frage.</p>
<p>wieso ist in deinem Beispiel t=0 obwohl du es nicht mit 0 initialisiert hast <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="🙂"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1842501</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1842501</guid><dc:creator><![CDATA[blurry333]]></dc:creator><pubDate>Thu, 21 Jan 2010 10:14:14 GMT</pubDate></item><item><title><![CDATA[Reply to Betriebssysteme-&amp;gt;deadlocks on Thu, 21 Jan 2010 10:23:49 GMT]]></title><description><![CDATA[<p>Ich rate mal ins Blaue: Die ist default-static und static-Primitive werden initialisiert? Im Notfall: Vielleicht ist es gar nicht 0 und er war ;schlampig.</p>
<p>MfG SideWinder</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1842507</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1842507</guid><dc:creator><![CDATA[SideWinder]]></dc:creator><pubDate>Thu, 21 Jan 2010 10:23:49 GMT</pubDate></item><item><title><![CDATA[Reply to Betriebssysteme-&amp;gt;deadlocks on Thu, 21 Jan 2010 10:59:35 GMT]]></title><description><![CDATA[<p>blurry333 schrieb:</p>
<blockquote>
<p>wieso ist in deinem Beispiel t=0 obwohl du es nicht mit 0 initialisiert hast</p>
</blockquote>
<p>globale variablen werden vorm aufruf von 'main' automatisch auf 0 gesetzt (wenn sie nicht mit was anderem initialisiert werden).<br />
<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="🙂"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1842532</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1842532</guid><dc:creator><![CDATA[;fricky]]></dc:creator><pubDate>Thu, 21 Jan 2010 10:59:35 GMT</pubDate></item><item><title><![CDATA[Reply to Betriebssysteme-&amp;gt;deadlocks on Thu, 21 Jan 2010 13:17:18 GMT]]></title><description><![CDATA[<p>;fricky schrieb:</p>
<blockquote>
<p>audacia schrieb:</p>
<blockquote>
<p>Ein besonders schön anfälliges Exempel für solchen Code wäre das hier ...</p>
</blockquote>
<p>^^das ist ja bloss eine endlosschleife.<br />
was ich meine, geht etwa so (simples beispiel, in der realität sind solche hänger meistens nicht so offensichtlich):</p>
<pre><code>int t;

void process_1 (void)
{
   if (t &gt; 9)
      return;
   t++;
   puts (&quot;p1 running&quot;);
}

void process_2 (void)
{
   if (t &gt; 5)
      return;
   t++;
   puts (&quot;p2 running&quot;);
}

int main (void)
{
   for(;;)
   {
      process_1();
      process_2();
      ...
      // noch mehr code, der davon nicht betroffen ist
      ...
   }
}
</code></pre>
<p>^^ keiner von beiden setzt 't' zurück, deswegen blockt es. beide würden weiterlaufen, wenn's einer tun würde.<br />
<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="🙂"
    /></p>
</blockquote>
<p>das ist auch nur ne endlosschleife, hat mit deadlock noch nix zu tun.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1842609</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1842609</guid><dc:creator><![CDATA[hustbaer]]></dc:creator><pubDate>Thu, 21 Jan 2010 13:17:18 GMT</pubDate></item><item><title><![CDATA[Reply to Betriebssysteme-&amp;gt;deadlocks on Thu, 21 Jan 2010 15:50:19 GMT]]></title><description><![CDATA[<p>hustbaer schrieb:</p>
<blockquote>
<p>das ist auch nur ne endlosschleife, hat mit deadlock noch nix zu tun.</p>
</blockquote>
<p>lass mich raten: dir fehlt der preemptive multitasking-kernel, der das ganze antickert, richtig?<br />
<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="🙂"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1842748</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1842748</guid><dc:creator><![CDATA[;fricky]]></dc:creator><pubDate>Thu, 21 Jan 2010 15:50:19 GMT</pubDate></item><item><title><![CDATA[Reply to Betriebssysteme-&amp;gt;deadlocks on Fri, 22 Jan 2010 15:59:44 GMT]]></title><description><![CDATA[<p>Zusätzlich benötigt man für jeden Prozess noch eine Funktion y = f(x) welche für jede Adresse im virtuellen Speicher die zugehörige Adresse im physischen Speicher zurückliefert.</p>
<p>Jetzt kommts:</p>
<p>Die Abbildung f(x) ist keine mathematische Funktion, sondern wird von einem Hardwaregerät bereitgestellt.</p>
<p>Den letzten Satz versteh ich nicht. Das Hardwaregerät hat doch bestimmt<br />
auch eine Software die die Berechnung ausführt oder ?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1843375</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1843375</guid><dc:creator><![CDATA[blurry333]]></dc:creator><pubDate>Fri, 22 Jan 2010 15:59:44 GMT</pubDate></item><item><title><![CDATA[Reply to Betriebssysteme-&amp;gt;deadlocks on Fri, 22 Jan 2010 16:32:52 GMT]]></title><description><![CDATA[<p>Ja, das mit &quot;keine mathematische Funktion&quot; ist Käse, natürlich ist das auch (gerade) mathematisch eine Funktion. Damit soll wohl gemeint sein, dass das kein Ausdruck wie &quot;y = x*1000 - 7&quot; ist.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1843394</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1843394</guid><dc:creator><![CDATA[Bashar]]></dc:creator><pubDate>Fri, 22 Jan 2010 16:32:52 GMT</pubDate></item><item><title><![CDATA[Reply to Betriebssysteme-&amp;gt;deadlocks on Fri, 22 Jan 2010 16:40:30 GMT]]></title><description><![CDATA[<p>krabbels schrieb:</p>
<blockquote>
<p>Installiere Eclipse mit ein paar Plugins und mit etwas Glück gibts nach dem Start nen Deadlock <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>
</blockquote>
<p>Ist mir in 7 Jahren Eclipse nie passiert.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1843400</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1843400</guid><dc:creator><![CDATA[byto]]></dc:creator><pubDate>Fri, 22 Jan 2010 16:40:30 GMT</pubDate></item><item><title><![CDATA[Reply to Betriebssysteme-&amp;gt;deadlocks on Fri, 22 Jan 2010 17:17:05 GMT]]></title><description><![CDATA[<p>blurry333 schrieb:</p>
<blockquote>
<p>Den letzten Satz versteh ich nicht. Das Hardwaregerät hat doch bestimmt<br />
auch eine Software die die Berechnung ausführt oder ?</p>
</blockquote>
<p>dieses hardwaregerät ist ungefähr sowas: <a href="http://en.wikipedia.org/wiki/Memory_management_unit" rel="nofollow">http://en.wikipedia.org/wiki/Memory_management_unit</a><br />
die 'software' für solche dinger wird mit hardwarebeschreibungssprachen entwickelt und als logisches schaltnetz auf 'nem silikon-chip verewigt. also, da ist keine CPU drin, die befehle nacheinander abarbeitet wie im PC oder so.<br />
<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="🙂"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1843415</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1843415</guid><dc:creator><![CDATA[;fricky]]></dc:creator><pubDate>Fri, 22 Jan 2010 17:17:05 GMT</pubDate></item><item><title><![CDATA[Reply to Betriebssysteme-&amp;gt;deadlocks on Fri, 22 Jan 2010 19:36:39 GMT]]></title><description><![CDATA[<p>byto schrieb:</p>
<blockquote>
<p>krabbels schrieb:</p>
<blockquote>
<p>Installiere Eclipse mit ein paar Plugins und mit etwas Glück gibts nach dem Start nen Deadlock <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>
</blockquote>
<p>Ist mir in 7 Jahren Eclipse nie passiert.</p>
</blockquote>
<p>Dann hast du wohl die falschen Plugins installiert gehabt(cdt ist dafür ganz gut geeignet). Ich kann mich noch dran erinnern wie ich(und viele andere auch) ständig die Configs löschen mussten damits überhaupt wieder startet.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1843449</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1843449</guid><dc:creator><![CDATA[krabbels]]></dc:creator><pubDate>Fri, 22 Jan 2010 19:36:39 GMT</pubDate></item></channel></rss>