<?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[Funktionen nach Priorität ausführen]]></title><description><![CDATA[<p>Frage:</p>
<p>Starte mehrere Funktionen in verschiedenen Threads unter Windows zur gleichen Zeit. Jeder Funktion gebe ich eine Nummer als Prio mit (1=hoch,...,10=niedrig).</p>
<p>Nun möchte ich das nur die höchstpriore als erstes komplett durchläuft, dann die nächste. es sollen also alle blockiert werden, also warten.</p>
<p>Habt ihr nen Vorschlag wie ich sowas angehen soll.</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/200175/funktionen-nach-priorität-ausführen</link><generator>RSS for Node</generator><lastBuildDate>Sun, 04 Oct 2026 10:04:06 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/200175.rss" rel="self" type="application/rss+xml"/><pubDate>Tue, 11 Dec 2007 15:03:48 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Funktionen nach Priorität ausführen on Tue, 11 Dec 2007 15:03:48 GMT]]></title><description><![CDATA[<p>Frage:</p>
<p>Starte mehrere Funktionen in verschiedenen Threads unter Windows zur gleichen Zeit. Jeder Funktion gebe ich eine Nummer als Prio mit (1=hoch,...,10=niedrig).</p>
<p>Nun möchte ich das nur die höchstpriore als erstes komplett durchläuft, dann die nächste. es sollen also alle blockiert werden, also warten.</p>
<p>Habt ihr nen Vorschlag wie ich sowas angehen soll.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1418819</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1418819</guid><dc:creator><![CDATA[JDHawk]]></dc:creator><pubDate>Tue, 11 Dec 2007 15:03:48 GMT</pubDate></item><item><title><![CDATA[Reply to Funktionen nach Priorität ausführen on Tue, 11 Dec 2007 15:11:55 GMT]]></title><description><![CDATA[<p>Wozu überhaupt mehrere Threads, wenn du dann doch alle Funktionen sequenziell abarbeiten lassen willst?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1418827</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1418827</guid><dc:creator><![CDATA[CStoll]]></dc:creator><pubDate>Tue, 11 Dec 2007 15:11:55 GMT</pubDate></item><item><title><![CDATA[Reply to Funktionen nach Priorität ausführen on Tue, 11 Dec 2007 15:18:46 GMT]]></title><description><![CDATA[<p>zum Schluss sollen es sogar einzelne Prozesse sein, die zu beliebigem Zeitpunkt gestartet werden. Dann soll aber nur der höchstpriore seine Arbeit machen.</p>
<p>Sequenziell geht nicht weil diese Prozesse zufällig gestartet werden. (Also man weis am Anfang nicht welcher wann und ob überhaupt)</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1418834</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1418834</guid><dc:creator><![CDATA[JDHawk]]></dc:creator><pubDate>Tue, 11 Dec 2007 15:18:46 GMT</pubDate></item><item><title><![CDATA[Reply to Funktionen nach Priorität ausführen on Tue, 11 Dec 2007 15:26:11 GMT]]></title><description><![CDATA[<p>JDHawk schrieb:</p>
<blockquote>
<p>...<br />
Sequenziell geht nicht weil diese Prozesse zufällig gestartet werden. (Also man weis am Anfang nicht welcher wann und ob überhaupt)</p>
</blockquote>
<p>Sorry, aber das Eine hat mit dem Anderen doch überhaupt nichts zu tun. &quot;Sequentiell&quot; ist einfach nur das Gegenteil von &quot;parallel&quot;.<br />
Hier ist z.B. die Reihenfolge auch nicht im Programm festgelegt und trotzdem ist es ein astrein sequentielles Programm:</p>
<pre><code class="language-cpp">int main() {
   int no = 0;
   while(cin&gt;&gt;in) {
     case 0: f1(): break;
     case 1: f2(): break;
     case 2: f3(): break;
     default: f4();
   }
   return 0;
}
</code></pre>
<p>... statt von cin kannst Du natürlich auch aus einer Priorityqueue lesen.</p>
<p>Gruß,</p>
<p>Simon2.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1418838</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1418838</guid><dc:creator><![CDATA[Simon2]]></dc:creator><pubDate>Tue, 11 Dec 2007 15:26:11 GMT</pubDate></item><item><title><![CDATA[Reply to Funktionen nach Priorität ausführen on Tue, 11 Dec 2007 15:23:54 GMT]]></title><description><![CDATA[<p>Du könntest über SetThreadPriority() steuern, in welcher Rangfolge Windows deine Threads aufruft, aber wirklich sequenziell arbeitet der Scheduler auch nicht. Zur Not müsstest du deinen eigenen Scheduler schreiben, der alle laufenden Threads mit Priorität verwaltet und alle außer dem höchstwertigen mit SuspendThread() auf Eis legt.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1418839</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1418839</guid><dc:creator><![CDATA[CStoll]]></dc:creator><pubDate>Tue, 11 Dec 2007 15:23:54 GMT</pubDate></item><item><title><![CDATA[Reply to Funktionen nach Priorität ausführen on Tue, 11 Dec 2007 16:21:02 GMT]]></title><description><![CDATA[<p>Vielen Dank für die guten Tips aus der Windows Welt.<br />
Wollte schon busy waits einbauen und damit den Prozessor unnötig beschäftigen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1418874</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1418874</guid><dc:creator><![CDATA[JDHawk]]></dc:creator><pubDate>Tue, 11 Dec 2007 16:21:02 GMT</pubDate></item><item><title><![CDATA[Reply to Funktionen nach Priorität ausführen on Wed, 12 Dec 2007 08:24:00 GMT]]></title><description><![CDATA[<p>Bau dir doch noch einen Zusätzlichen Prozess der das Knechten (ausführen der Funktionen) übernimmt, während deine anderen Prozesse einfach nur die auszuführenden Funktionen (bzw. Funktoren) an den Knechtprozess übergeben. Dann wird wirklich alles zentral in einem Thread/Prozess sequentiell abgearbeitet und die Client-Prozesse idlen so lange bis ihr Auftrag zurückkehrt.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1419172</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1419172</guid><dc:creator><![CDATA[pumuckl]]></dc:creator><pubDate>Wed, 12 Dec 2007 08:24:00 GMT</pubDate></item></channel></rss>