<?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[Funktion pausieren - Thread nötig?]]></title><description><![CDATA[<p>Hallo Leute,</p>
<p>ich bin neu hier und hoffe mal dass ihr meine frage verstehen werdet.</p>
<p>Ich arbeite in einem Programm das über ein Netzwerk mit Hardware verbunden ist (Details sind nicht wichtig). Nachdem ich über eine Funktion ein Kommando an die HW schicke bekomme ich ein Kommando zurück, was sich durch dass automatische ausführen einer bestimmten Funktion äußert.</p>
<p>Ich möchte jetzt in einer Schleife warten bis diese Funktion ausgeführt wurde(sprich das Kommando kam), dazu habe ich schon ein Flag in diese Funktion eingefügt, dass dann gesetzt wird.</p>
<p>Ungefähr so:</p>
<pre><code class="language-cpp">RegisterEdit()
{
   Flag = FALSE;  // global
   ...
   int T1 = time(0);
   while( time(0)-T1 &lt; 3 )
   {
//    MessageBox(...);
      if ( Flag == TRUE )
      ...
   }
   ...
}

OnReceive()
{
   ...
   Flag = TRUE;
   ...
}
</code></pre>
<p>Da ich soweit nicht mit Multithreading arbeite (und ich glaube dass würde mich auch nicht weiterbringen), kann die entsprechende Funktion aber nicht ausgeführt werden, während die Schleife arbeitet. Wenn ich in diese Schleife eine MessageBox implementiere, erreiche ich quasi mein Ziel, da das restliche Programm weiterarbeitet, bis ich die Box schließe (?).</p>
<p>Gibt es einen Befehl oder eine Funktion, die so wie die MessageBox arbeitet, der Benutzer aber nix davon merkt und die zeitlich begrenzt werden kann, während das Programm ansprechbar ist, aber trotzdem an der Stelle wartet (sowas wie &quot;sleep&quot;)?</p>
<p>Ich denke bei dem Nutzung eines Threads, könnte ich zwar auf die Funktion(das Kommando warten), das restliche Programm würde aber trotzdem weiter laufen.</p>
<p>Ich hoffe ihr habts verstande. Bin für Lösungsvorschläge sehr dankbar, auch für einen möglichst simplen mit Threads.</p>
<p>Gruß<br />
MrFlow</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/137320/funktion-pausieren-thread-nötig</link><generator>RSS for Node</generator><lastBuildDate>Sat, 29 Aug 2026 18:39:53 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/137320.rss" rel="self" type="application/rss+xml"/><pubDate>Thu, 16 Feb 2006 16:31:14 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Funktion pausieren - Thread nötig? on Thu, 16 Feb 2006 17:22:59 GMT]]></title><description><![CDATA[<p>Hallo Leute,</p>
<p>ich bin neu hier und hoffe mal dass ihr meine frage verstehen werdet.</p>
<p>Ich arbeite in einem Programm das über ein Netzwerk mit Hardware verbunden ist (Details sind nicht wichtig). Nachdem ich über eine Funktion ein Kommando an die HW schicke bekomme ich ein Kommando zurück, was sich durch dass automatische ausführen einer bestimmten Funktion äußert.</p>
<p>Ich möchte jetzt in einer Schleife warten bis diese Funktion ausgeführt wurde(sprich das Kommando kam), dazu habe ich schon ein Flag in diese Funktion eingefügt, dass dann gesetzt wird.</p>
<p>Ungefähr so:</p>
<pre><code class="language-cpp">RegisterEdit()
{
   Flag = FALSE;  // global
   ...
   int T1 = time(0);
   while( time(0)-T1 &lt; 3 )
   {
//    MessageBox(...);
      if ( Flag == TRUE )
      ...
   }
   ...
}

OnReceive()
{
   ...
   Flag = TRUE;
   ...
}
</code></pre>
<p>Da ich soweit nicht mit Multithreading arbeite (und ich glaube dass würde mich auch nicht weiterbringen), kann die entsprechende Funktion aber nicht ausgeführt werden, während die Schleife arbeitet. Wenn ich in diese Schleife eine MessageBox implementiere, erreiche ich quasi mein Ziel, da das restliche Programm weiterarbeitet, bis ich die Box schließe (?).</p>
<p>Gibt es einen Befehl oder eine Funktion, die so wie die MessageBox arbeitet, der Benutzer aber nix davon merkt und die zeitlich begrenzt werden kann, während das Programm ansprechbar ist, aber trotzdem an der Stelle wartet (sowas wie &quot;sleep&quot;)?</p>
<p>Ich denke bei dem Nutzung eines Threads, könnte ich zwar auf die Funktion(das Kommando warten), das restliche Programm würde aber trotzdem weiter laufen.</p>
<p>Ich hoffe ihr habts verstande. Bin für Lösungsvorschläge sehr dankbar, auch für einen möglichst simplen mit Threads.</p>
<p>Gruß<br />
MrFlow</p>
]]></description><link>https://www.c-plusplus.net/forum/post/995973</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/995973</guid><dc:creator><![CDATA[MrFlow]]></dc:creator><pubDate>Thu, 16 Feb 2006 17:22:59 GMT</pubDate></item><item><title><![CDATA[Reply to Funktion pausieren - Thread nötig? on Fri, 17 Feb 2006 10:03:10 GMT]]></title><description><![CDATA[<p>Hallo,<br />
Standard-C++ kennt keine solche Funktion. Deine Betriebssystem-API aber mit großer Wahrscheinlichkeit. Unter Windows gibt es z.B. Sleep. Unter Linux/Unix usleep.</p>
<p>Unter welchem BS arbeitest du?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/996507</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/996507</guid><dc:creator><![CDATA[HumeSikkins]]></dc:creator><pubDate>Fri, 17 Feb 2006 10:03:10 GMT</pubDate></item></channel></rss>