<?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[for-Schleife mit fester Dauer pro durchlauf ?]]></title><description><![CDATA[<p>Hallo zusammen ...</p>
<p>Ich habe hier ein kleines Konsolen-Programm geschrieben, welches Daten erhält und diese verarbeitet. Das ganze ist in einer (recht großen) for-Schleife gelöst. Je nach Datensatz dauert die Verarbeitung in der Schleife unterschiedlich lang. Da das Programm aber synchron zu einem anderen laufen muss, ist es notwendig, das ein Zyklus eine feste Zeit benötigt.</p>
<p>Bis jetzt habe ich das Ganze so gelöst, dass ich je nach erwarteten Datensätzen die Durchläufe gestoppt habe und dann mit einer Sleep-Anweisung die Restzeit aufgefüllt habe. Das ist aber extrem unflexibel und auch recht ungenau.</p>
<p>Am liebsten wäre es mir, wenn zu Beginn eines Durchlaufs ein &quot;Timer&quot; gestartet würde und dann am Ende so lange gewartet würde, bis eine vorgegebene Zeit (in ms) verstrichen ist.</p>
<p>Leider hab ich dazu nicht wirklich was passendes gefunden <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>Würde mich sehr über etwas Hilfe freuen!</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/229273/for-schleife-mit-fester-dauer-pro-durchlauf</link><generator>RSS for Node</generator><lastBuildDate>Mon, 28 Sep 2026 00:45:06 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/229273.rss" rel="self" type="application/rss+xml"/><pubDate>Tue, 09 Dec 2008 19:08:38 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to for-Schleife mit fester Dauer pro durchlauf ? on Tue, 09 Dec 2008 19:08:38 GMT]]></title><description><![CDATA[<p>Hallo zusammen ...</p>
<p>Ich habe hier ein kleines Konsolen-Programm geschrieben, welches Daten erhält und diese verarbeitet. Das ganze ist in einer (recht großen) for-Schleife gelöst. Je nach Datensatz dauert die Verarbeitung in der Schleife unterschiedlich lang. Da das Programm aber synchron zu einem anderen laufen muss, ist es notwendig, das ein Zyklus eine feste Zeit benötigt.</p>
<p>Bis jetzt habe ich das Ganze so gelöst, dass ich je nach erwarteten Datensätzen die Durchläufe gestoppt habe und dann mit einer Sleep-Anweisung die Restzeit aufgefüllt habe. Das ist aber extrem unflexibel und auch recht ungenau.</p>
<p>Am liebsten wäre es mir, wenn zu Beginn eines Durchlaufs ein &quot;Timer&quot; gestartet würde und dann am Ende so lange gewartet würde, bis eine vorgegebene Zeit (in ms) verstrichen ist.</p>
<p>Leider hab ich dazu nicht wirklich was passendes gefunden <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>Würde mich sehr über etwas Hilfe freuen!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1627815</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1627815</guid><dc:creator><![CDATA[Mandel]]></dc:creator><pubDate>Tue, 09 Dec 2008 19:08:38 GMT</pubDate></item><item><title><![CDATA[Reply to for-Schleife mit fester Dauer pro durchlauf ? on Tue, 09 Dec 2008 20:17:44 GMT]]></title><description><![CDATA[<p>wie genau muss es denn sein? welches os?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1627842</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1627842</guid><dc:creator><![CDATA[details?]]></dc:creator><pubDate>Tue, 09 Dec 2008 20:17:44 GMT</pubDate></item><item><title><![CDATA[Reply to for-Schleife mit fester Dauer pro durchlauf ? on Tue, 09 Dec 2008 21:13:59 GMT]]></title><description><![CDATA[<p>Also normalerweise würde ich behaupten, dass es allgemein ziemlich schwierig (und auf den meisten Betriebssystemen auch unmöglich) ist ein time-scheduling so genau hinzubekommen, da sich immer (in einem multitasking system) andere Prozesse dazwischen&quot;drängeln&quot; werden und sogar die Abarbeitung deiner beiden Prozesse sequenziell ausgeführt werden (gesetzt dem Falle, dass es sich um eine Ein-Prozessor-Maschine handelt).</p>
<p>Du solltest dir eventuell über die gegenseitige Synchronisation deiner Prozesse Gedanken machen (ob der eine auch gegebenenfalls auf die Abarbeitung des anderen warten kann).</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1627859</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1627859</guid><dc:creator><![CDATA[jghj]]></dc:creator><pubDate>Tue, 09 Dec 2008 21:13:59 GMT</pubDate></item><item><title><![CDATA[Reply to for-Schleife mit fester Dauer pro durchlauf ? on Tue, 09 Dec 2008 21:22:43 GMT]]></title><description><![CDATA[<p>Also OS ist Windows XP (Prof).<br />
Da die Schleife zT einige 100mal durchlaufen wird, wäre eine Genauigkeit im Millisekundenbereich schon schön.</p>
<p>Ich hatte doch gehofft, dass es vielleicht doch einfacher ist, als es anscheinend der Fall ist.<br />
Kann man nicht einfach die Systemuhr &quot;anzapfen&quot;? Obwohl die wohl nicht so genau gehen wird, oder?<br />
Der PC auf dem das Programm laufen soll ist übrigens ein Intel QuadCore (4x 2,5GHz). Hilft das was? <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f644.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--face_with_rolling_eyes"
      title=":rolling_eyes:"
      alt="🙄"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1627860</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1627860</guid><dc:creator><![CDATA[Mandel]]></dc:creator><pubDate>Tue, 09 Dec 2008 21:22:43 GMT</pubDate></item><item><title><![CDATA[Reply to for-Schleife mit fester Dauer pro durchlauf ? on Tue, 09 Dec 2008 21:47:01 GMT]]></title><description><![CDATA[<p>mh also ein lösung wäre folgende</p>
<pre><code class="language-cpp">time_t t, max_time=100;

for(...)
{
    t = time(NULL);  // oder so waren die befehle, sry hab die nicht merh ganz im kopf, aber egal geht ja nur ums prinzip

    // ... berechnungen
    if ( max_time-t &lt;= 0 )
       Sleep(max_time-t);
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1627881</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1627881</guid><dc:creator><![CDATA[Skym0sh0]]></dc:creator><pubDate>Tue, 09 Dec 2008 21:47:01 GMT</pubDate></item><item><title><![CDATA[Reply to for-Schleife mit fester Dauer pro durchlauf ? on Wed, 10 Dec 2008 06:09:07 GMT]]></title><description><![CDATA[<p>google mal nach &quot;boost asio tutorial&quot;, da wird sowas in der Art mit &quot;gleichlang dauernden Schleifendurchgängen&quot; auch besprochen (ich glaub ne Konsolenausgabe genau alle 5 Sekunden oder sowas)<br />
Wenn du deine zwei Prozesse allerdings richtig synchronisieren willst, statt sie unabhängig in etwa den gleichen Zeittakten laufen zu lassen, kommst du um Synchronisierung wohl nicht herum. Da wäre eine interprocess-barrier as erste was mir einfällt.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1627975</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1627975</guid><dc:creator><![CDATA[pumuckl]]></dc:creator><pubDate>Wed, 10 Dec 2008 06:09:07 GMT</pubDate></item><item><title><![CDATA[Reply to for-Schleife mit fester Dauer pro durchlauf ? on Wed, 10 Dec 2008 12:48:53 GMT]]></title><description><![CDATA[<p>Falls es nur wichtig ist, das bestimmte Teile in beiden Programmen (in etwa) zur selben Zeit ablaufen, dann kannst du auch 2 CriticalSection nehmen - falls ich jetzt keinen Denkfehler hatte, sollte man das damit auch hinbekommen ^^</p>
<p>bb</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1628203</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1628203</guid><dc:creator><![CDATA[unskilled]]></dc:creator><pubDate>Wed, 10 Dec 2008 12:48:53 GMT</pubDate></item><item><title><![CDATA[Reply to for-Schleife mit fester Dauer pro durchlauf ? on Wed, 10 Dec 2008 12:59:33 GMT]]></title><description><![CDATA[<p>unskilled schrieb:</p>
<blockquote>
<p>kannst du auch 2 CriticalSection nehmen - falls ich jetzt keinen Denkfehler hatte, sollte man das damit auch hinbekommen ^^</p>
</blockquote>
<p>Klar geht das - die beiden Critical Sections haben dann einfach als Bedingung, dass in allen anderen Prozessen (in dem Fall einer) ein Flag auf true gesetzt wird. Das ist eine der möglichen Implementierungen einer Barrier <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/1628213</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1628213</guid><dc:creator><![CDATA[pumuckl]]></dc:creator><pubDate>Wed, 10 Dec 2008 12:59:33 GMT</pubDate></item></channel></rss>