<?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[Frage bezüglich Thread]]></title><description><![CDATA[<p>Guten Morgen.<br />
Ich habe eine Frage :</p>
<p>Ich habe erfolgreich ein Programm mit Thread - Verarbeitung geschrieben. Die Funktionisweise ist nicht wichtig. Ich habe mir die Zeit die zur Abarbeitung mit Threads und ohne benötigt wird angesehen. Dabei ist mir aufgefallen, das die Zeit für Thread verarbeitung 6x so hoch ist.</p>
<p>Hier ist meine Code :</p>
<p>Das sind die Thread Funktionen.</p>
<pre><code class="language-cpp">// ==========================================

DWORD WINAPI cVolleyballTrainer::Spiele_Spieltag(LPVOID pr)
{   
    HANDLE hThread[5];
    for (int i = 0; i &lt; 5; i++)
    {
		threadLiga *temp = new threadLiga;
        temp-&gt;iSpielnummer = i;
        temp-&gt;iSpieltag = ((threadLiga*)pr)-&gt;iSpieltag;
        temp-&gt;pLiga = ((threadLiga*)pr)-&gt;pLiga;

        hThread[i] = CreateThread(NULL,0,Spiele_Match,(void*)temp,0,NULL);				
    }

	WaitForMultipleObjects(5,hThread, true,INFINITE ); 
    return 1; 

}

// ==========================================

DWORD WINAPI cVolleyballTrainer::Spiele_Match(LPVOID pr)
{	
	try
	{

		cMatch *ma = new cMatch( ((threadLiga*)pr)-&gt;pLiga-&gt;Get_Ansetzungen( ((threadLiga*)pr)-&gt;iSpieltag )[ ((threadLiga*)pr)-&gt;iSpielnummer ] );

		((threadLiga*)pr)-&gt;pLiga-&gt;Set_Ergebnis(ma-&gt;Get_Ergebnis());

	}
	catch(cException *ex)
	{
		cout&lt;&lt;ex-&gt;sError;
	}

    return 1; 
}

// ==========================================
</code></pre>
<p>Hier Eroflgt der Aufruf per Thread :</p>
<pre><code class="language-cpp">HANDLE hThread[18];

    for (int i = 0; i &lt; 18; i++)
    {
        threadLiga *sp = new threadLiga;
        sp-&gt;pLiga = pBundesliga;
        sp-&gt;iSpieltag = i+1;
		try
		{
			hThread[i] = CreateThread(NULL,0,Spiele_Spieltag,(void*)sp,0,NULL);

		}
		catch(cException *ex)
		{
			cout&lt;&lt;ex-&gt;sError;
		}		
    }

	WaitForMultipleObjects(18,hThread, true,INFINITE );
</code></pre>
<p>Und hier sequentiell :_</p>
<pre><code class="language-cpp">for (int a = 0; a &lt; 18; a++)
	{
		for (int s = 0; s &lt; 5; s++)
		{
			cMatch *ma = new cMatch(pBundesliga-&gt;Get_Ansetzungen(a+1)[s]);
			pBundesliga-&gt;Set_Ergebnis(ma-&gt;Get_Ergebnis());
		}
	}
</code></pre>
<p>Ich muss dazu sagen. Beide Durchläufe sind auf dem selben Rechner vorgenommen worden. Es handelt sich hier bei um einen 4 Kern Prozessor..</p>
<p>WEiß jemnad Rat.</p>
<p>Vielen Dank<br />
Eurer Albert</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/224304/frage-bezüglich-thread</link><generator>RSS for Node</generator><lastBuildDate>Sat, 11 Apr 2026 21:33:31 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/224304.rss" rel="self" type="application/rss+xml"/><pubDate>Wed, 08 Oct 2008 06:37:32 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Frage bezüglich Thread on Wed, 08 Oct 2008 06:37:32 GMT]]></title><description><![CDATA[<p>Guten Morgen.<br />
Ich habe eine Frage :</p>
<p>Ich habe erfolgreich ein Programm mit Thread - Verarbeitung geschrieben. Die Funktionisweise ist nicht wichtig. Ich habe mir die Zeit die zur Abarbeitung mit Threads und ohne benötigt wird angesehen. Dabei ist mir aufgefallen, das die Zeit für Thread verarbeitung 6x so hoch ist.</p>
<p>Hier ist meine Code :</p>
<p>Das sind die Thread Funktionen.</p>
<pre><code class="language-cpp">// ==========================================

DWORD WINAPI cVolleyballTrainer::Spiele_Spieltag(LPVOID pr)
{   
    HANDLE hThread[5];
    for (int i = 0; i &lt; 5; i++)
    {
		threadLiga *temp = new threadLiga;
        temp-&gt;iSpielnummer = i;
        temp-&gt;iSpieltag = ((threadLiga*)pr)-&gt;iSpieltag;
        temp-&gt;pLiga = ((threadLiga*)pr)-&gt;pLiga;

        hThread[i] = CreateThread(NULL,0,Spiele_Match,(void*)temp,0,NULL);				
    }

	WaitForMultipleObjects(5,hThread, true,INFINITE ); 
    return 1; 

}

// ==========================================

DWORD WINAPI cVolleyballTrainer::Spiele_Match(LPVOID pr)
{	
	try
	{

		cMatch *ma = new cMatch( ((threadLiga*)pr)-&gt;pLiga-&gt;Get_Ansetzungen( ((threadLiga*)pr)-&gt;iSpieltag )[ ((threadLiga*)pr)-&gt;iSpielnummer ] );

		((threadLiga*)pr)-&gt;pLiga-&gt;Set_Ergebnis(ma-&gt;Get_Ergebnis());

	}
	catch(cException *ex)
	{
		cout&lt;&lt;ex-&gt;sError;
	}

    return 1; 
}

// ==========================================
</code></pre>
<p>Hier Eroflgt der Aufruf per Thread :</p>
<pre><code class="language-cpp">HANDLE hThread[18];

    for (int i = 0; i &lt; 18; i++)
    {
        threadLiga *sp = new threadLiga;
        sp-&gt;pLiga = pBundesliga;
        sp-&gt;iSpieltag = i+1;
		try
		{
			hThread[i] = CreateThread(NULL,0,Spiele_Spieltag,(void*)sp,0,NULL);

		}
		catch(cException *ex)
		{
			cout&lt;&lt;ex-&gt;sError;
		}		
    }

	WaitForMultipleObjects(18,hThread, true,INFINITE );
</code></pre>
<p>Und hier sequentiell :_</p>
<pre><code class="language-cpp">for (int a = 0; a &lt; 18; a++)
	{
		for (int s = 0; s &lt; 5; s++)
		{
			cMatch *ma = new cMatch(pBundesliga-&gt;Get_Ansetzungen(a+1)[s]);
			pBundesliga-&gt;Set_Ergebnis(ma-&gt;Get_Ergebnis());
		}
	}
</code></pre>
<p>Ich muss dazu sagen. Beide Durchläufe sind auf dem selben Rechner vorgenommen worden. Es handelt sich hier bei um einen 4 Kern Prozessor..</p>
<p>WEiß jemnad Rat.</p>
<p>Vielen Dank<br />
Eurer Albert</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1595263</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1595263</guid><dc:creator><![CDATA[albert-einstein2]]></dc:creator><pubDate>Wed, 08 Oct 2008 06:37:32 GMT</pubDate></item><item><title><![CDATA[Reply to Frage bezüglich Thread on Wed, 08 Oct 2008 06:52:43 GMT]]></title><description><![CDATA[<p>Wenn die Aufgabe, die auf mehrere Threads verteilt werden soll, sowieso kaum Zeit verbraucht, dann ist Multi-Threading unnötig und kann durch den Overhead (Threaderstellung...) auch langsamer sein. Übrigens gehört das ins WinAPI-Forum. C++ kennt keine Threads.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1595269</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1595269</guid><dc:creator><![CDATA[_matze]]></dc:creator><pubDate>Wed, 08 Oct 2008 06:52:43 GMT</pubDate></item><item><title><![CDATA[Reply to Frage bezüglich Thread on Wed, 08 Oct 2008 07:37:33 GMT]]></title><description><![CDATA[<p>Allein der Overhead den das OS treiben muss einen neuen Stack einzurichten ist im Vergleich zu Deinen Schmalhansaufgaben, die in Deinem Thread laufen schon größer.</p>
<p>Zudem was nutzt es auf einer 2/4 Prozessor Maschine 200 Threads loszutreten?<br />
Das macht nur Sinn, wenn die Aufgaben länger sind oder durch I/O Wartezeiten in Kaufgenommen werden müssen. Für das Aufteilen von Rechenaufgaben macht es auch nur Sinn, wenn dadurch die Komplexität gesenkt werden kann. Was ich in Deinem Fall aber auch nicht sehe.</p>
<p>PS: Falsches Forum (wurde ja schon gesagt)</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1595289</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1595289</guid><dc:creator><![CDATA[Martin Richter]]></dc:creator><pubDate>Wed, 08 Oct 2008 07:37:33 GMT</pubDate></item><item><title><![CDATA[Reply to Frage bezüglich Thread on Wed, 08 Oct 2008 08:09:57 GMT]]></title><description><![CDATA[<p>Okay ich danke euch</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1595303</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1595303</guid><dc:creator><![CDATA[albert-einstein2]]></dc:creator><pubDate>Wed, 08 Oct 2008 08:09:57 GMT</pubDate></item><item><title><![CDATA[Reply to Frage bezüglich Thread on Wed, 08 Oct 2008 08:42:09 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-14199.html" rel="nofollow">Phoemuex</a> aus dem Forum <a href="http://www.c-plusplus.net/forum/viewforum-var-f-is-15.html" rel="nofollow">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/1595325</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1595325</guid><dc:creator><![CDATA[C++ Forumbot]]></dc:creator><pubDate>Wed, 08 Oct 2008 08:42:09 GMT</pubDate></item><item><title><![CDATA[Reply to Frage bezüglich Thread on Wed, 08 Oct 2008 08:50:04 GMT]]></title><description><![CDATA[<p>Verwende doch OpenMP, das löst alle Deine Probleme und ist auf jeden Fall schneller als nur ein Thread <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/1595329</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1595329</guid><dc:creator><![CDATA[Jochen Kalmbach]]></dc:creator><pubDate>Wed, 08 Oct 2008 08:50:04 GMT</pubDate></item></channel></rss>