<?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[Multitasking in einer Konsolenanwendung?]]></title><description><![CDATA[<p>Hallo, ich habe funktion a() und funktion b(). nun will ich, dass sie jeweils in einem 5 millisekundentakt jeweils ausgeführt werden und dabei nicht auf ein return gewartet wird, sondenr sie sollen 5 ms ausgeführt werde, dann die andere funktion und dann soll die funktion wieder da beginnen, so sie stehen geblieben ist...</p>
<p>ist das irgendwie möglich?</p>
<p>wenn nicht, kann man dann zwei konsolenanwendungen parralell laufen lassen, sodass sie ein uns dieselbe variablen mit der jeweiligen gleichn anddresse bearbeiten? programm a könnte daten manipulieren und abspeichern und programm b diese aus dem RAM aufrufen und weiterverarbeiten?</p>
<p>ganz wichtig ist, dass die funktionen gleichzeitig laufen und auf gemeinsame daten zugreifen können! <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f61e.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--disappointed_face"
      title=":("
      alt="😞"
    /></p>
<p>Danke um hilfe,<br />
garry :p <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/topic/217936/multitasking-in-einer-konsolenanwendung</link><generator>RSS for Node</generator><lastBuildDate>Fri, 09 Oct 2026 19:35:35 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/217936.rss" rel="self" type="application/rss+xml"/><pubDate>Mon, 14 Jul 2008 01:08:13 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Multitasking in einer Konsolenanwendung? on Mon, 14 Jul 2008 01:08:13 GMT]]></title><description><![CDATA[<p>Hallo, ich habe funktion a() und funktion b(). nun will ich, dass sie jeweils in einem 5 millisekundentakt jeweils ausgeführt werden und dabei nicht auf ein return gewartet wird, sondenr sie sollen 5 ms ausgeführt werde, dann die andere funktion und dann soll die funktion wieder da beginnen, so sie stehen geblieben ist...</p>
<p>ist das irgendwie möglich?</p>
<p>wenn nicht, kann man dann zwei konsolenanwendungen parralell laufen lassen, sodass sie ein uns dieselbe variablen mit der jeweiligen gleichn anddresse bearbeiten? programm a könnte daten manipulieren und abspeichern und programm b diese aus dem RAM aufrufen und weiterverarbeiten?</p>
<p>ganz wichtig ist, dass die funktionen gleichzeitig laufen und auf gemeinsame daten zugreifen können! <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f61e.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--disappointed_face"
      title=":("
      alt="😞"
    /></p>
<p>Danke um hilfe,<br />
garry :p <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/1546875</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1546875</guid><dc:creator><![CDATA[garry_weber]]></dc:creator><pubDate>Mon, 14 Jul 2008 01:08:13 GMT</pubDate></item><item><title><![CDATA[Reply to Multitasking in einer Konsolenanwendung? on Mon, 14 Jul 2008 02:06:41 GMT]]></title><description><![CDATA[<p>2 threads - den ersten mit funktion a() an belieber stelle blockieren den zweiten mit funktion b() weitermachen lassen, irgendwann diesen wiederum blockieren und thread 1 freigeben^^ (erster absatz ;))<br />
beim parallelen ablauf müsste gewährleistet sein, dass thread 2 keine inkonsistenten daten lesen kann...<br />
deine beschreibung hört sich ziemlich konfus an - was willste eigentlich machen? <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f921.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--clown_face"
      title=":clown:"
      alt="🤡"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1546878</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1546878</guid><dc:creator><![CDATA[AndyN]]></dc:creator><pubDate>Mon, 14 Jul 2008 02:06:41 GMT</pubDate></item><item><title><![CDATA[Reply to Multitasking in einer Konsolenanwendung? on Mon, 14 Jul 2008 06:30:12 GMT]]></title><description><![CDATA[<p>Also zwei Konsolenanwendungen miteinander kommunizieren lassen, dürfte schwer werden. Denn da du ja vermutlich meinst dass erst eine gestartet wird und dann die andere, würden die beiden vom Betriebssystem zwei unterschiedliche Speicherbereiche zugewiesen bekommen. D.h. eine Kommunikation wäre da meiner Meinung nach nur über Dateien möglich.</p>
<p>Wenn du Kommunikation willst, dann musste mit Threads arbeiten.</p>
<p>Wenn du mal grob sagst was du machen willst, ist dir vielleicht noch zu helfen <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/1546899</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1546899</guid><dc:creator><![CDATA[It0101]]></dc:creator><pubDate>Mon, 14 Jul 2008 06:30:12 GMT</pubDate></item><item><title><![CDATA[Reply to Multitasking in einer Konsolenanwendung? on Mon, 14 Jul 2008 07:03:49 GMT]]></title><description><![CDATA[<p>Naja, es muss nicht unbedingt ein Thread sein. Es gibt auch noch Prozesse und Pipes. Allerdings ist die Matherie etwas komplizierter. Denn ein Thread ist (salop gesagt) ja ein &quot;Prozess-Light&quot;.<br />
Aber was jetzt das richtige ist kann man wirklich nur sagen wenn man das genaue Anwendungsgebiet kennt.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1546910</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1546910</guid><dc:creator><![CDATA[stefanjann]]></dc:creator><pubDate>Mon, 14 Jul 2008 07:03:49 GMT</pubDate></item><item><title><![CDATA[Reply to Multitasking in einer Konsolenanwendung? on Mon, 14 Jul 2008 07:36:46 GMT]]></title><description><![CDATA[<p>hola</p>
<p>mit OS funktionalitaet waere es moeglich. unter windows gibt es sogenannte fibers.<br />
mit sowas kannst du dir dein eigenes thread-management zusammenbauen. wie es unter linux aussieht entzieht sich meiner kenntnis.</p>
<p>Meep Meep</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1546923</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1546923</guid><dc:creator><![CDATA[Meep Meep]]></dc:creator><pubDate>Mon, 14 Jul 2008 07:36:46 GMT</pubDate></item><item><title><![CDATA[Reply to Multitasking in einer Konsolenanwendung? on Mon, 14 Jul 2008 10:14:35 GMT]]></title><description><![CDATA[<p>Zwei Prozesse miteinander kommunizieren lassen könnte man auch relativ einfach über Sockets machen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1547008</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1547008</guid><dc:creator><![CDATA[WinSocke]]></dc:creator><pubDate>Mon, 14 Jul 2008 10:14:35 GMT</pubDate></item><item><title><![CDATA[Reply to Multitasking in einer Konsolenanwendung? on Mon, 14 Jul 2008 10:50:40 GMT]]></title><description><![CDATA[<p>oder shared memory... <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/1547024</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1547024</guid><dc:creator><![CDATA[AndyN]]></dc:creator><pubDate>Mon, 14 Jul 2008 10:50:40 GMT</pubDate></item><item><title><![CDATA[Reply to Multitasking in einer Konsolenanwendung? on Mon, 14 Jul 2008 12:31:46 GMT]]></title><description><![CDATA[<p><a class="plugin-mentions-user plugin-mentions-a" href="https://www.c-plusplus.net/forum/uid/19575">@garry_weber</a>:</p>
<p>Du benötigst 3 Threads. Einer der die Funktion a() ausführt, einer der die Funktion b() ausführt und einer der den Wechsel zwischen Thread 1 und Thread 2 steuert. Dieser Hauptthread zieht einen Timer auf und legt sich danach schlafen. Wenn nun der Timer nun klingelt, legt der Haupthread den aktiven Thread 1 schlafen (suspend) und aktiviert den zweiten Thread (resume). Danach zieht der Hauptthread wieder den Timer auf und legt sich wieder schlafen. Wenn nun der Timer nun klingelt, legt der Haupthread den aktiven Thread 2 schlafen und aktiviert den ersten Thread...</p>
<p>Dazu benötigst du eine Bib mit erweiterte Thread-Unterstützung sowie einer Timer-Klasse, welche dir alle 5 ms ein Event schickt. Der Timer scheint es unter der Windows MFC in Form von CWnd::SetTimer() / CWnd::GetTimer() zu geben. Threads scheint es als CWinThread zu geben. Hundertprozentig sicher bin ich da nicht, da ich so etwas nur unter Java machen durfte.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1547081</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1547081</guid><dc:creator><![CDATA[Bitte ein Bit]]></dc:creator><pubDate>Mon, 14 Jul 2008 12:31:46 GMT</pubDate></item><item><title><![CDATA[Reply to Multitasking in einer Konsolenanwendung? on Mon, 14 Jul 2008 17:46:29 GMT]]></title><description><![CDATA[<p>ich forsche grade am symantischem web. ich bin grade dabei, eine routine zu schreiben, die &quot;wortfelder&quot; - also eine Tabelle an Wörtern, die sehr oft mit einem bestimmten Wort (Zentralwort der Tabelle) in einem (deutschen) Satz verwendet werden - errechnet. den allgorithmus und so habe ich auch schon und ließ es auf php und mysql laufen. der algorithmus klappt auch wunderbar - alles happy und tralala...</p>
<p>ich habe jedoch festgestellt, dass es uneffektiv ist, da man</p>
<p>a) nicht so viele textquellen und<br />
b) nicht so viel speicherpaltz</p>
<p>hat. deswegen experementiere ich grade mit einem keylogger (in guter absicht). er ließt alle zeichen ein, die über die tastatur laufen, solange das zeichen nicht ein '.', '?', '!' ist. sollte es eintreten (also satzende), wird der gespeicherte satz an den auswertungsalgorithmus geschickt.<br />
es darf also nicht ein algorithmus sein, der im nachhinein ausgeführt wird, sondern er muss parallel laufen und muss irgendwie daten empfangen können, die dieser keylogger ihm sendet. das gesamte system muss auf dem heimischen PC im hindetergrund laufen und außer vielleicht der ressourcenfresserei (wenn es parall läuft, müsste es nicht viel kapazität fressen, da es immer häppchen bekommt) den benutzer nicht an seiner arbeit behindern...</p>
<p>die daten, die das system kriegt, muss es auswerten können und auf dem lokalen pc abspeichern. wenn ein andere benutzer solch eine worttabelle benutzt und an das netzwerk drangebunden ist, kann er eine anfrage zum jeweilgen rechner senden und der sendet die daten ggf zurück. da der rechner die anfrage aber nicht an einem, sondenr an (hoffentlich irgendwann) 30.000 rechner schickt und diese ihm alle antworten, erhällt man dann sehr genau wortfelder, wenn man dann aus den identischen wortfeldern der 30.000 benutzer ein querschnitt zieht.</p>
<p>ich will nicht, dass der puffer eine datei ist, da es zu prolemen führen kann, wenn man ließt und schreibt zu gleicher zeit (was sehr wahschrscheinlich ist)...</p>
<p>die routine, die auswertet, soll einen speicherbereich haben, so sie daten (also aätze) rausnimmt um zu bearbeiten und wieder neue von keylogger nachschiebt.</p>
<p>hab mich in<br />
<a href="https://www.google.de/search?&amp;q=site%3Amsdn.microsoft.com%20%0D%0Ahttp%3A%2F%2Fmsdn.microsoft.com%2Fen-us%2Flibrary%2Faa365780(VS.85).aspx%20%20" rel="nofollow">Google: site:msdn.microsoft.com<br />
http://msdn.microsoft.com/en-us/library/aa365780(VS.85).aspx</a></p>
<p>versucht einzulesen. ich denke das system verstehe ich. gut, es war heute morgen um 1:00 als ich das gemacht habe <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f61e.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--disappointed_face"
      title=":("
      alt="😞"
    /><br />
es ist doch so, dass doch pipes so ähnlich wie shared memory ist? d.h. der kelogger hat die berechtigung dort zu schreiben und die auswertungsroutine hat das recht von dort zu lesen und es danach zu löschen? oder ist shared memory was anderes? <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>ich könnte es doch so konzipieren, dass wenn die auswerungsroutine eine satz abgearbeitet hat, in diesem speicherbereich anchguckt, ob was neues hinterlegt ist und es gegebenfalls aufnimmt?</p>
<p>Garry</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1547280</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1547280</guid><dc:creator><![CDATA[garry_weber]]></dc:creator><pubDate>Mon, 14 Jul 2008 17:46:29 GMT</pubDate></item><item><title><![CDATA[Reply to Multitasking in einer Konsolenanwendung? on Thu, 17 Jul 2008 06:31:33 GMT]]></title><description><![CDATA[<p>Shared memory ist im Endeffekt nichts anderes als eine gemeinsame Variable, welche von mehreren Threads benutzt wird. Dabei kann es zu Problemen kommen, wenn beispielsweise ein schreibender Thread durch einen lesenden Thread unterbrochen wird. Bsp: Der Thread Zeitungschreiber schreibt in eine gemeinsame String Resource Zeitung. Wird dieser während seiner Arbeit durch den Thread Zeitungsleser unterbrochen, liest dieser aus der String Resource Zeitung sowohl alte als auch neue Nachrichten ein. Zum Gau kommt es wenn der Thread diese Informationen (beispielsweise in Form von Börsengeschäften) weiterverarbeitet.</p>
<p>Eine Pipe ist da eher ein weiterführendes Konzept. Anscheinend ist eine Pipe ein Objekt, wo ein Thread ein anderes Objekt hineinsteckt und der andere Thread daraufhin das Objekt als Nachricht bekommt. Deutlicher gesprochen, könnte man auch von einem Mini-Mini E-Mail System zwischen Threads sprechen. Probleme wie bei shared memory dürften bei sauberer Implementierung nicht auftreten, da die I/O Funktionen des Pipe Objektes atomar sein sollten.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1548607</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1548607</guid><dc:creator><![CDATA[Bitte ein Bit]]></dc:creator><pubDate>Thu, 17 Jul 2008 06:31:33 GMT</pubDate></item></channel></rss>