<?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[Threads unter Windows]]></title><description><![CDATA[<p>Hallo,</p>
<p>ich wollte mich grad mal bisschen über Threads schlau lesen, da ich sie jetzt benötige. Bei Wikipdia habe ich ungefähr verstanden, wie men einen T aufruft. Aba ich weiss jetzt irgendwie nicht weiter.</p>
<p>Könnt ihr mir bei einem ganz einfachem Beispiel helfen, damit ich es auch verstehe?:</p>
<pre><code>while(1)
{
    getchar();
    printf(&quot;Hallo Welt\n&quot;);
}
</code></pre>
<p>Das soll immer ausgeführt werden.</p>
<pre><code>if (a==1)
    a=0;
else
    a=1
</code></pre>
<p>Das soll nebenbei im Thread ausgeführt werden.</p>
<p>Das Programm wartet also auf Eingabe, schiebt abaer zwischendurch immer eine 1 und 0 durch int a</p>
<p>Mein eigentliches Programm macht natürlich etwas anderes, abaer könnt ihr mir am Beispuiel vielleicht Zeigen, wie es geht?</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/187497/threads-unter-windows</link><generator>RSS for Node</generator><lastBuildDate>Sat, 04 Jul 2026 11:18:48 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/187497.rss" rel="self" type="application/rss+xml"/><pubDate>Fri, 20 Jul 2007 09:31:15 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Threads unter Windows on Fri, 20 Jul 2007 09:31:15 GMT]]></title><description><![CDATA[<p>Hallo,</p>
<p>ich wollte mich grad mal bisschen über Threads schlau lesen, da ich sie jetzt benötige. Bei Wikipdia habe ich ungefähr verstanden, wie men einen T aufruft. Aba ich weiss jetzt irgendwie nicht weiter.</p>
<p>Könnt ihr mir bei einem ganz einfachem Beispiel helfen, damit ich es auch verstehe?:</p>
<pre><code>while(1)
{
    getchar();
    printf(&quot;Hallo Welt\n&quot;);
}
</code></pre>
<p>Das soll immer ausgeführt werden.</p>
<pre><code>if (a==1)
    a=0;
else
    a=1
</code></pre>
<p>Das soll nebenbei im Thread ausgeführt werden.</p>
<p>Das Programm wartet also auf Eingabe, schiebt abaer zwischendurch immer eine 1 und 0 durch int a</p>
<p>Mein eigentliches Programm macht natürlich etwas anderes, abaer könnt ihr mir am Beispuiel vielleicht Zeigen, wie es geht?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1329073</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1329073</guid><dc:creator><![CDATA[phenolphthalein]]></dc:creator><pubDate>Fri, 20 Jul 2007 09:31:15 GMT</pubDate></item><item><title><![CDATA[Reply to Threads unter Windows on Fri, 20 Jul 2007 09:39:01 GMT]]></title><description><![CDATA[<p>Vielleicht solltest du dich doch noch etwas intensiver mit Threads beschäftigen <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>
<p>OK, mal langsam: Zunächst mußt du das, was nebenher passieren soll, in eine Threadfunktion auslagern (das macht jedoch nur Sinn, wenn die Arbeit etwas länger dauert und das Hauptprogramm die Ergebnisse nicht sofort braucht - für so ein einfaches if()/else lohnt sich kein Extra-Thread):</p>
<pre><code class="language-cpp">UINT thread_func(LPVOID param)
{
  // mach irgendwas
  return 0;
}
</code></pre>
<p>Anschließend mußt du aus deinem Hauptprogramm heraus den Thread anstoßen:</p>
<pre><code class="language-cpp">_beginthread(thread_function/*Name der Funktion*/,NULL/*Parameter für die Funktion*/);
</code></pre>
<p>Nachdem der Thread läuft, kannst du mit dem Hauptprogramm weitermachen (und z.B. in deine Endlosschleife reingehen).</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1329079</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1329079</guid><dc:creator><![CDATA[CStoll]]></dc:creator><pubDate>Fri, 20 Jul 2007 09:39:01 GMT</pubDate></item><item><title><![CDATA[Reply to Threads unter Windows on Fri, 20 Jul 2007 09:43:25 GMT]]></title><description><![CDATA[<p>Dieser Thread wurde von Moderator/in <a href="http://www.c-plusplus.net/forum/profile-var-mode-is-viewprofile-and-u-is-547.html" rel="nofollow">Shade Of Mine</a> aus dem Forum <a href="http://www.c-plusplus.net/forum/viewforum-var-f-is-10.html" rel="nofollow">ANSI C</a> in das Forum <a href="http://www.c-plusplus.net/forum/viewforum-var-f-is-4.html" rel="nofollow">WinAPI</a> verschoben.</p>
<p>Im Zweifelsfall bitte auch folgende Hinweise beachten:<br />
<a href="http://www.c-plusplus.net/forum/viewtopic-var-t-is-39405.html" rel="nofollow">C/C++ Forum :: FAQ - Sonstiges :: Wohin mit meiner Frage?</a></p>
<p><em>Dieses Posting wurde automatisch erzeugt.</em></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1329083</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1329083</guid><dc:creator><![CDATA[C++ Forumbot]]></dc:creator><pubDate>Fri, 20 Jul 2007 09:43:25 GMT</pubDate></item><item><title><![CDATA[Reply to Threads unter Windows on Fri, 20 Jul 2007 09:47:00 GMT]]></title><description><![CDATA[<p>Läuft _beginthread auch unter anderen OS oder nur unter Windows?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1329089</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1329089</guid><dc:creator><![CDATA[Badestrand]]></dc:creator><pubDate>Fri, 20 Jul 2007 09:47:00 GMT</pubDate></item><item><title><![CDATA[Reply to Threads unter Windows on Fri, 20 Jul 2007 09:56:30 GMT]]></title><description><![CDATA[<p>Ich glaub das ist nur für Windows, hab mich da zwar noch nie wirklich reingearbeitet, aber es sollte Plattformabhängig sein.</p>
<p>Gruß Chris</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1329107</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1329107</guid><dc:creator><![CDATA[Foxx90]]></dc:creator><pubDate>Fri, 20 Jul 2007 09:56:30 GMT</pubDate></item><item><title><![CDATA[Reply to Threads unter Windows on Fri, 20 Jul 2007 10:03:37 GMT]]></title><description><![CDATA[<p>Besten Dank! Mein Programm sieht jetzt so aus:</p>
<pre><code class="language-cpp">#include &lt;stdio.h&gt;

int a;

int main()
{
	_beginthread(thread_function, NULL);

	while(1) 
	{ 
	    getchar(); 
	    printf(&quot;Hallo Welt\n&quot;); 
	}	 

	return 0;
}

UINT thread_function(LPVOID param) 
{ 
	if (a==1) 
    	a=0; 
	else 
    	a=1;  
  return 0; 
}
</code></pre>
<p>und es gibt 3 Fehler.</p>
<ul>
<li>für _beginthread fehlt der Prototyp</li>
<li>thread_function ist ein undeclared identifier</li>
<li>UINT thread_function(LPVOID param) wird angezeigt: Expecting ';'</li>
</ul>
<p>Kann nochmal jemand helfen?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1329115</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1329115</guid><dc:creator><![CDATA[phenolphthalein]]></dc:creator><pubDate>Fri, 20 Jul 2007 10:03:37 GMT</pubDate></item><item><title><![CDATA[Reply to Threads unter Windows on Fri, 20 Jul 2007 10:05:58 GMT]]></title><description><![CDATA[<p>Sollte man glaube ich vorher auch bekannt geben vorallem wenn mann ne funktion ans ende des programms setzt.</p>
<pre><code class="language-cpp">#include &lt;stdio.h&gt;

int a;
//Hier
UINT thread_function(LPVOID param);

int main()
{
	_beginthread(thread_function, NULL);

	while(1) 
	{ 
	    getchar(); 
	    printf(&quot;Hallo Welt\n&quot;); 
	}	 

	return 0;
}

UINT thread_function(LPVOID param) 
{ 
	if (a==1) 
    	a=0; 
	else 
    	a=1;  
  return 0; 
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1329118</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1329118</guid><dc:creator><![CDATA[Ascharan]]></dc:creator><pubDate>Fri, 20 Jul 2007 10:05:58 GMT</pubDate></item><item><title><![CDATA[Reply to Threads unter Windows on Fri, 20 Jul 2007 10:20:29 GMT]]></title><description><![CDATA[<p>ok, ich habe die thread-funktion jetzt an den anfang gestellt. jetzt sind es nur noch zwei fehler:</p>
<p>syntax error; found 'identifier' expecting ';'.<br />
(Bei UINT thread_function(LPVOID param) )</p>
<p>und</p>
<p>Missing prototype.<br />
(Bei _beginthread(thread_function, NULL);)</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1329133</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1329133</guid><dc:creator><![CDATA[phenolphthalein]]></dc:creator><pubDate>Fri, 20 Jul 2007 10:20:29 GMT</pubDate></item><item><title><![CDATA[Reply to Threads unter Windows on Fri, 20 Jul 2007 10:47:12 GMT]]></title><description><![CDATA[<p>Vieleicht fehlt da noch was hiern Kleines Bsp.</p>
<pre><code>[cpp]
#include &lt;windows.h&gt;
#include &lt;stdlib.h&gt;
#include &lt;string.h&gt;
#include &lt;stdio.h&gt;
#include &lt;conio.h&gt;
#include &lt;process.h&gt;

void ThreadProc(void *param);

int main()
{

  int n;
  int i;
  int val = 0;
  HANDLE handle;

  printf(&quot;\t Thread Demo\n&quot;);

  printf(&quot;Enter the number of threads : &quot;);
  scanf(&quot;%d&quot;,&amp;n);

  for(i=0;i&lt;n;i++)
  {
    val = i+1;
    handle = (HANDLE) _beginthread( ThreadProc,0,&amp;val); 
    WaitForSingleObject(handle,INFINITE);
  }
  return 0;
}

void ThreadProc(void *param)
{

 int h=*((int*)param);
 printf(&quot;%d Thread is Running!\n&quot;,h);
 _endthread();

}[/cpp]
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1329153</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1329153</guid><dc:creator><![CDATA[Ascharan]]></dc:creator><pubDate>Fri, 20 Jul 2007 10:47:12 GMT</pubDate></item><item><title><![CDATA[Reply to Threads unter Windows on Fri, 20 Jul 2007 10:53:41 GMT]]></title><description><![CDATA[<p>Für _beginthread() und die typedef's benötigst du natürlich den richtigen Header (müsste &lt;windows.h&gt; sein)</p>
<p><a class="plugin-mentions-user plugin-mentions-a" href="https://www.c-plusplus.net/forum/uid/13210">@Badestrand</a>: _beginthread() gibt's nur unter Windows - Unix hat da sicher eigene Funktionen dafür (ich kenne auf Anhieb nur fork(), aber das erzeugt einen neuen <em>Prozess</em>).</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1329157</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1329157</guid><dc:creator><![CDATA[CStoll]]></dc:creator><pubDate>Fri, 20 Jul 2007 10:53:41 GMT</pubDate></item><item><title><![CDATA[Reply to Threads unter Windows on Fri, 20 Jul 2007 13:23:36 GMT]]></title><description><![CDATA[<p>_beginthread und _beginthreadex finden sich in der &lt;process.h&gt; - die sind Teil der MSVC Runtime und nicht Teil von Windows.</p>
<p>Unter *NIX verwendet man üblicherweise PTHREADS, ausgenommen Solaris und einige andere &quot;Exoten&quot;.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1329282</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1329282</guid><dc:creator><![CDATA[hustbaer]]></dc:creator><pubDate>Fri, 20 Jul 2007 13:23:36 GMT</pubDate></item></channel></rss>