<?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[CPU Auslastung festlegen]]></title><description><![CDATA[<p>Hallo allesamt!</p>
<p>Sagt mal, gibt es eine Möglichkeit festzulegen, dass meine Anwendung nicht mehr als maximal 20% der CPU Auslastung in Anspruch nimmt?<br />
Meine Anwendung ließt und schreibt Dateien im hintergrund. Während so eine Datei entweder gelesen oder geschrieben wird ist die CPU Auslastung bei 100% und man kann nebenher nichts mehr machen. Deshalb würde ich gerne irgendetwas unternehmen, dass mein Programm nicht mehr als 20% des Prozessors in Anspruch nimmt bzw. alle anderen Programme nicht durch meins behindert werden. Das dadurch mein Programm langsamer wird ist egal, da es im Hintergrund laufen soll.</p>
<p>Schon mal danke…</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/98111/cpu-auslastung-festlegen</link><generator>RSS for Node</generator><lastBuildDate>Sun, 12 Jul 2026 02:16:47 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/98111.rss" rel="self" type="application/rss+xml"/><pubDate>Sun, 16 Jan 2005 18:24:21 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to CPU Auslastung festlegen on Sun, 16 Jan 2005 18:24:21 GMT]]></title><description><![CDATA[<p>Hallo allesamt!</p>
<p>Sagt mal, gibt es eine Möglichkeit festzulegen, dass meine Anwendung nicht mehr als maximal 20% der CPU Auslastung in Anspruch nimmt?<br />
Meine Anwendung ließt und schreibt Dateien im hintergrund. Während so eine Datei entweder gelesen oder geschrieben wird ist die CPU Auslastung bei 100% und man kann nebenher nichts mehr machen. Deshalb würde ich gerne irgendetwas unternehmen, dass mein Programm nicht mehr als 20% des Prozessors in Anspruch nimmt bzw. alle anderen Programme nicht durch meins behindert werden. Das dadurch mein Programm langsamer wird ist egal, da es im Hintergrund laufen soll.</p>
<p>Schon mal danke…</p>
]]></description><link>https://www.c-plusplus.net/forum/post/698194</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/698194</guid><dc:creator><![CDATA[Gast1]]></dc:creator><pubDate>Sun, 16 Jan 2005 18:24:21 GMT</pubDate></item><item><title><![CDATA[Reply to CPU Auslastung festlegen on Sun, 16 Jan 2005 21:18:52 GMT]]></title><description><![CDATA[<p>Prozentual lässt sich das nicht festlegen, du kannst Windows lediglich mitteilen, dass dein Programm bei der Verteilung von Rechenzeit gerne anderen den Vortritt lässt.</p>
<pre><code class="language-cpp">int oldPriorityClass, oldPriority;

  oldPriorityClass = GetPriorityClass(GetCurrentProcess);
  oldPriority = GetThreadPriority(GetCurrentThread);

  SetPriorityClass(GetCurrentProcess,               // Priorität ändern
                   IDLE_PRIORITY_CLASS);
  SetThreadPriority(GetCurrentThread,
                    THREAD_PRIORITY_IDLE);

  // hier dein mit geringer Priorität auszuführender Code

  SetThreadPriority(GetCurrentThread, oldPriority); // Priorität zurücksetzen
  SetPriorityClass(GetCurrentProcess, oldPriorityClass);
</code></pre>
<p>Sieh dir in der Hilfe zu SetThreadPriority bzw. SetPriorityClass an, welche Abstufungen möglich sind.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/698351</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/698351</guid><dc:creator><![CDATA[Jansen]]></dc:creator><pubDate>Sun, 16 Jan 2005 21:18:52 GMT</pubDate></item><item><title><![CDATA[Reply to CPU Auslastung festlegen on Mon, 17 Jan 2005 13:33:50 GMT]]></title><description><![CDATA[<p>Danke!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/698803</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/698803</guid><dc:creator><![CDATA[Gast1]]></dc:creator><pubDate>Mon, 17 Jan 2005 13:33:50 GMT</pubDate></item><item><title><![CDATA[Reply to CPU Auslastung festlegen on Mon, 17 Jan 2005 13:51:32 GMT]]></title><description><![CDATA[<p>Noch so ne keine Frage...</p>
<p>Wie kann ich den Thread für SetThreadPriority mit dem THREAD_SET_INFORMATION access right öffnen? So etwas wie OpenThread gibt es ja nicht.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/698822</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/698822</guid><dc:creator><![CDATA[Gast1]]></dc:creator><pubDate>Mon, 17 Jan 2005 13:51:32 GMT</pubDate></item><item><title><![CDATA[Reply to CPU Auslastung festlegen on Mon, 17 Jan 2005 21:48:18 GMT]]></title><description><![CDATA[<p>Das brauchst du nicht, GetCurrentThread etc. bezieht sich ja auf dein Programm und das hat dieses Recht per default.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/698993</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/698993</guid><dc:creator><![CDATA[Jansen]]></dc:creator><pubDate>Mon, 17 Jan 2005 21:48:18 GMT</pubDate></item><item><title><![CDATA[Reply to CPU Auslastung festlegen on Tue, 18 Jan 2005 11:14:22 GMT]]></title><description><![CDATA[<p>Eigentlich dachte ich auch, dass mein Programm dieses Access Right besitzt. Die Praxis sieht aber anders aus. Ich benutze Windows XP mit ServicePack 2.</p>
<pre><code class="language-cpp">void __fastcall TfrmMain::FormCreate(TObject *Sender)
{
  HANDLE phWnd   = OpenProcess(PROCESS_SET_INFORMATION,false,GetCurrentProcessId());

  if (phWnd   == 0) ShowMessage(&quot;Cannot open process!&quot;);

  if (SetPriorityClass(phWnd,IDLE_PRIORITY_CLASS) == 0)
    ShowMessage(&quot;Cannot adjust the Priority Class!&quot;);
  if (SetThreadPriority(GetCurrentThread,THREAD_PRIORITY_IDLE) == 0)
    ShowMessage(&quot;Cannot adjust the Thread's Priority!&quot;);

  CloseHandle(phWnd);
}
</code></pre>
<p>Die SetPriorityClass - Funktion funktioniert so richtig. Beim Versuch die Priorität des Threads zu verändern, kommt es zu der Fehlermeldung.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/699245</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/699245</guid><dc:creator><![CDATA[Gast1]]></dc:creator><pubDate>Tue, 18 Jan 2005 11:14:22 GMT</pubDate></item></channel></rss>