<?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 in Klassen]]></title><description><![CDATA[<p>Ich versuche gerade eine Thread Funktion, also vom Typ DWORD WINAPI durch einen<br />
Create Thread aufruf aus ein und der selben Klasse zu machen. Nun sagt der Compuiler mir Fehlermeldungen, dass der Datentyp nicht mehr stimmt. Die Threadfunktion in der Klasse besitzt auch komischerweise noch ein (closure <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="😉"
    /> in der unten stehenden Fehlermeldung, also nun meine Frage:<br />
Wie kann ich dieses Problem lösen oder sind Threadfunktionen in Klassen nicht möglich??? <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f62e.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--face_with_open_mouth"
      title=":open_mouth:"
      alt="😮"
    /> Das wäre dann ja schrecklich für mein Projekt!</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/124058/threads-in-klassen</link><generator>RSS for Node</generator><lastBuildDate>Thu, 09 Jul 2026 10:22:10 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/124058.rss" rel="self" type="application/rss+xml"/><pubDate>Sun, 23 Oct 2005 09:22:22 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Threads in Klassen on Sun, 23 Oct 2005 09:22:22 GMT]]></title><description><![CDATA[<p>Ich versuche gerade eine Thread Funktion, also vom Typ DWORD WINAPI durch einen<br />
Create Thread aufruf aus ein und der selben Klasse zu machen. Nun sagt der Compuiler mir Fehlermeldungen, dass der Datentyp nicht mehr stimmt. Die Threadfunktion in der Klasse besitzt auch komischerweise noch ein (closure <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="😉"
    /> in der unten stehenden Fehlermeldung, also nun meine Frage:<br />
Wie kann ich dieses Problem lösen oder sind Threadfunktionen in Klassen nicht möglich??? <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f62e.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--face_with_open_mouth"
      title=":open_mouth:"
      alt="😮"
    /> Das wäre dann ja schrecklich für mein Projekt!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/899144</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/899144</guid><dc:creator><![CDATA[Kevinus]]></dc:creator><pubDate>Sun, 23 Oct 2005 09:22:22 GMT</pubDate></item><item><title><![CDATA[Reply to Threads in Klassen on Sun, 23 Oct 2005 11:25:25 GMT]]></title><description><![CDATA[<p>Poste am Besten mal den betreffenden Code.</p>
<p>Wahrscheinlich versuchst du aber als Threadfunktion eine Memberfunktion aus deiner Klasse aufzurufen.<br />
Das geht aber nicht. WINAPI steht für die _stdcall Konventions, ruft man aber eine Memberfunktion auf, dann muss die _thiscall sein. Außderdem wird beim Aufruf einer Memberfunktion ja auch noch versteckt der this Zeiger als Parameter übergeben.</p>
<p>Deine Threadfunktion sollte also am einfachsten global sein.</p>
<p>gz</p>
]]></description><link>https://www.c-plusplus.net/forum/post/899217</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/899217</guid><dc:creator><![CDATA[pZy]]></dc:creator><pubDate>Sun, 23 Oct 2005 11:25:25 GMT</pubDate></item><item><title><![CDATA[Reply to Threads in Klassen on Sun, 23 Oct 2005 11:32:01 GMT]]></title><description><![CDATA[<p>gut das wäre dann auch möglich muss ich den Code eben umstellen! Thx aber is schon bescheiden, dass dies nicht geht!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/899224</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/899224</guid><dc:creator><![CDATA[Kevinus]]></dc:creator><pubDate>Sun, 23 Oct 2005 11:32:01 GMT</pubDate></item><item><title><![CDATA[Reply to Threads in Klassen on Sun, 23 Oct 2005 11:58:43 GMT]]></title><description><![CDATA[<p>Kevinus schrieb:</p>
<blockquote>
<p>Wie kann ich dieses Problem lösen oder sind Threadfunktionen in Klassen nicht möglich???</p>
</blockquote>
<p>Möglich schon, nur, wie pZy schon sagte, keine Member-Funktionen. Du musst schon eine static Funktion dafür nehmen. Es gibt aber trotzdem eine recht einfache Möglichkeit für das, was du vorhast. Dazu übergibst du einfach <em>this</em> als Thread-Funktionsparameter.</p>
<pre><code class="language-cpp">// Thread Erstellung - this_ ist die entsprechende Klasseninstanz, der du den Thread zuordnen willst
CreateThread(NULL, 0, &amp;foo::my_static_main, this_, 0, NULL);
// deine Klasse
class foo
{
public:
	static DWORD WINAPI my_static_main(void* parameter)
	{
		foo* this_ = static_cast&lt;foo*&gt;(parameter);
		this_-&gt;my_main();
	}
	void my_main()
	{
		// das ist deine eigentliche Thread-Funktion - nun als Member
	}
};
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/899237</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/899237</guid><dc:creator><![CDATA[groovemaster]]></dc:creator><pubDate>Sun, 23 Oct 2005 11:58:43 GMT</pubDate></item><item><title><![CDATA[Reply to Threads in Klassen on Sat, 03 Dec 2005 13:20:16 GMT]]></title><description><![CDATA[<pre><code class="language-cpp">In Klasse:

class X
{
    // Kann public, protected oder auch private sein.
    protected: DWORD WINAPI Threadxyz (LPVOID lpParam);
    public:    void Threadaufrufer ();
};

Aufruf in x.cpp-Datei:

void X::Threadaufrufer ()
{
    HANDLE hThread;
    DWORD dwParam, dwThreadID = 1;
    hThread = CreateThread (NULL,
                            0,
                            Threadxyz,
                            &amp;dwParam,
                            0,
                            &amp;dwThreadID);
}

DWORD WINAPI X::Threadxyz (LPVOID lpParam)
{
    //Threadfuntionen
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/933064</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/933064</guid><dc:creator><![CDATA[Fiesek]]></dc:creator><pubDate>Sat, 03 Dec 2005 13:20:16 GMT</pubDate></item><item><title><![CDATA[Reply to Threads in Klassen on Sat, 03 Dec 2005 14:30:51 GMT]]></title><description><![CDATA[<p><a class="plugin-mentions-user plugin-mentions-a" href="https://www.c-plusplus.net/forum/uid/3547">@Fiesek</a><br />
Wenn du schon Code postest, dann solltest du ihn vorher vielleicht testen. <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="😉"
    /> Dann wäre dir vielleicht auch aufgefallen, dass es _so_ nicht geht. Aber das hatten wir ja eigentlich schon festgestellt, denn genau um dieses Problem ging es ja dem OP.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/933128</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/933128</guid><dc:creator><![CDATA[groovemaster]]></dc:creator><pubDate>Sat, 03 Dec 2005 14:30:51 GMT</pubDate></item><item><title><![CDATA[Reply to Threads in Klassen on Sat, 03 Dec 2005 16:49:25 GMT]]></title><description><![CDATA[<p><img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f603.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--grinning_face_with_big_eyes"
      title=":D"
      alt="😃"
    /> <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f603.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--grinning_face_with_big_eyes"
      title=":D"
      alt="😃"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/933222</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/933222</guid><dc:creator><![CDATA[Jochen Kalmbach]]></dc:creator><pubDate>Sat, 03 Dec 2005 16:49:25 GMT</pubDate></item><item><title><![CDATA[Reply to Threads in Klassen on Sat, 03 Dec 2005 20:07:28 GMT]]></title><description><![CDATA[<p><a href="http://www.c-plusplus.net/forum/viewtopic-var-t-is-124649-and-highlight-is-.html" rel="nofollow">http://www.c-plusplus.net/forum/viewtopic-var-t-is-124649-and-highlight-is-.html</a></p>
]]></description><link>https://www.c-plusplus.net/forum/post/933407</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/933407</guid><dc:creator><![CDATA[joomoo]]></dc:creator><pubDate>Sat, 03 Dec 2005 20:07:28 GMT</pubDate></item><item><title><![CDATA[Reply to Threads in Klassen on Sun, 04 Dec 2005 18:29:27 GMT]]></title><description><![CDATA[<p>Da kann ich dir nur teilweise zustimmen, dass mein Code nicht funzt.</p>
<p>Ich hab mir also nen Thread zum Senden von Zeichen über die RS232 geschaffen und zwar so wie von mir oben beschrieben.<br />
Compiliert, keine Fehler.</p>
<p>Dann hab ich einen weiteren Thread hinzugefügt zum Empfangen von Zeichen über die RS232, da hab ich dann auf einmal auch Fehlermeldungen.</p>
<p>Ich werd dem Problem nochmal genauer auf den Pelz rücken und dann meine Erkenntnisse kundtun.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/934087</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/934087</guid><dc:creator><![CDATA[Fiesek]]></dc:creator><pubDate>Sun, 04 Dec 2005 18:29:27 GMT</pubDate></item><item><title><![CDATA[Reply to Threads in Klassen on Sun, 04 Dec 2005 18:52:52 GMT]]></title><description><![CDATA[<p>Dein Beispiel als vollständiges Programm ergibt:</p>
<pre><code class="language-cpp">#include &lt;windows.h&gt;
#include &lt;tchar.h&gt;
#include &lt;stdio.h&gt;

class X
{
  protected: 
    DWORD WINAPI Threadxyz (LPVOID lpParam)
    {
    }
  public:    
    void Threadaufrufer()
    {
      HANDLE hThread;
      DWORD dwParam, dwThreadID;
      hThread = CreateThread (NULL, 0, Threadxyz, &amp;dwParam, 0, &amp;dwThreadID);
    }
};

int _tmain()
{
  X x;
  x.Threadaufrufer();
}
</code></pre>
<p>Was sich definitiv nicht übersetzen lässt!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/934145</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/934145</guid><dc:creator><![CDATA[Jochen Kalmbach]]></dc:creator><pubDate>Sun, 04 Dec 2005 18:52:52 GMT</pubDate></item><item><title><![CDATA[Reply to Threads in Klassen on Sun, 04 Dec 2005 19:22:04 GMT]]></title><description><![CDATA[<p>Fiesek schrieb:</p>
<blockquote>
<p>Da kann ich dir nur teilweise zustimmen, dass mein Code nicht funzt.</p>
</blockquote>
<p>Es geht nicht darum, ob du mir zustimmst oder nicht. Dein Code ist falsch. Punkt. Und wenn dein Compiler das übersetzt, dann ist er diesbezgl. kaputt.<br />
Und wenn du das noch immer nicht akzeptierst, dann beantworte mir doch mal folgende Frage:<br />
Wie du sicherlich weisst, liegt jeder Member-Funktion (in deinem Fall X::Threadxyz) ein Objekt zu Grunde. Dieses lässt sich in der Funktion über <em>this</em> ansprechen und wird ausserhalb beim Aufruf explizit angegeben. Da CreateThread genau das macht, dh X::Threadxyz irgendwann aufruft, muss es also ein Objekt geben. Ich sehe in deinem CreateThread Aufruf allerdings keines. Du etwa? Und &amp;X::Threadxyz, wie es übrigens korrekterweise heissen muss, ist nur ein Funktionszeiger. Mit Objekt is hier nix.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/934215</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/934215</guid><dc:creator><![CDATA[groovemaster]]></dc:creator><pubDate>Sun, 04 Dec 2005 19:22:04 GMT</pubDate></item><item><title><![CDATA[Reply to Threads in Klassen on Mon, 05 Dec 2005 15:11:25 GMT]]></title><description><![CDATA[<p>Sry, ihr habt recht, ich hab unrecht.<br />
Mein Code funzt definitiv nicht!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/935016</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/935016</guid><dc:creator><![CDATA[Fiesek unlogged]]></dc:creator><pubDate>Mon, 05 Dec 2005 15:11:25 GMT</pubDate></item><item><title><![CDATA[Reply to Threads in Klassen on Mon, 05 Dec 2005 21:16:10 GMT]]></title><description><![CDATA[<p>So, ich hab meine Threads jetzt static gemacht und siehe da, es funzt.</p>
<p>Wichtig dabei:</p>
<p>static nur in der Deklaration angeben,<br />
der Thread kann nun nicht mehr auf Elementfunktionen und Membervariablen der eigenen Klasse zugreifen.</p>
<p>Ich hab meinen Threads dann ein Array von Pointern auf meine Membervariablen mitgegeben.<br />
So ließ es sich dann fehlerfrei compilieren.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/935387</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/935387</guid><dc:creator><![CDATA[Fiesek]]></dc:creator><pubDate>Mon, 05 Dec 2005 21:16:10 GMT</pubDate></item><item><title><![CDATA[Reply to Threads in Klassen on Mon, 05 Dec 2005 21:39:10 GMT]]></title><description><![CDATA[<p>Du hast dir aber schon meinen ersten Beitrag durchgelesen? Dort hab ich doch erklärt, wie du eine Memberfunktion für deine Threadfunktion verwenden kannst und damit auch auf Membervariablen zugreifen kannst.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/935404</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/935404</guid><dc:creator><![CDATA[groovemaster]]></dc:creator><pubDate>Mon, 05 Dec 2005 21:39:10 GMT</pubDate></item><item><title><![CDATA[Reply to Threads in Klassen on Tue, 06 Dec 2005 21:16:29 GMT]]></title><description><![CDATA[<p>Hab im Moment etwas ähnliches am Laufen: Meine Threadfunktion ist als statische Methode in meiner Klasse, jedes Objekt hat eine Funktion zum Starten des Threads. Dabei wird natürlich immmer ein Zeiger zum Objekt selbst übergeben.<br />
In der Threadfunktion befindet sich eine Endlosschleife.<br />
Meine Frage: Können diese Objekte nun tatsächlich <em>unabhängige</em> Threads haben? Will heißen laufen parallel mehrere Aufrufe der statischen Funktion und wenn ja, wie hängen diese zeitlich miteinander zusammen?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/936215</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/936215</guid><dc:creator><![CDATA[nirsaja]]></dc:creator><pubDate>Tue, 06 Dec 2005 21:16:29 GMT</pubDate></item><item><title><![CDATA[Reply to Threads in Klassen on Tue, 06 Dec 2005 21:19:09 GMT]]></title><description><![CDATA[<p>Wenn Du mehrere Threads startest, dann laufen auch mehrere! Zeitlich hängen die gar nicht zusammen. Wenn Du was synchronisieren musst, dann musst Du dies selber machen... (CriticalSections, Events, ...)</p>
]]></description><link>https://www.c-plusplus.net/forum/post/936218</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/936218</guid><dc:creator><![CDATA[Jochen Kalmbach]]></dc:creator><pubDate>Tue, 06 Dec 2005 21:19:09 GMT</pubDate></item><item><title><![CDATA[Reply to Threads in Klassen on Tue, 06 Dec 2005 21:22:29 GMT]]></title><description><![CDATA[<p>Das ist mir schon klar, ist in dem Falle nicht einmal nötig.<br />
Mir ging es nur um die Frage ob die Threads der einzelnen Objekte unabhängig laufen, obwohl es ja die gleiche statische Funktion ist und diese sozusagen mehrmals gleichzeitig läuft.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/936222</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/936222</guid><dc:creator><![CDATA[nirsaja]]></dc:creator><pubDate>Tue, 06 Dec 2005 21:22:29 GMT</pubDate></item><item><title><![CDATA[Reply to Threads in Klassen on Tue, 06 Dec 2005 21:26:06 GMT]]></title><description><![CDATA[<p>Wenn Du unterschiedliche Pointer auf die Klasse übergeben hast (also &quot;this&quot;), dann hat ja die statische Thread-Funktion auch diesen Pointer. Somit verwendet jeder Thread die Klasse welche Du übergeben hast. Da dies ja ein Parameter ist, der auf dem Stack liegt und jeder Thread seinen eigenen Thread hat ist sie in jedem Thread eben anders (wenn Du was anderes übergeben hast).</p>
]]></description><link>https://www.c-plusplus.net/forum/post/936226</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/936226</guid><dc:creator><![CDATA[Jochen Kalmbach]]></dc:creator><pubDate>Tue, 06 Dec 2005 21:26:06 GMT</pubDate></item><item><title><![CDATA[Reply to Threads in Klassen on Tue, 06 Dec 2005 21:39:33 GMT]]></title><description><![CDATA[<p>Ich habe mal eine kleine Testklasse für so etwas geschrieben um das mal zu beobachten:</p>
<pre><code class="language-cpp">class ThreadObject{
  public:
    ThreadObject(int _id, HWND _hParent) { id = _id; hParent = _hParent;};
    void startWatch(void)
    {
        _beginthread(appWatch,0,(void *)this);
    }

  private:
    int id;
    HWND hParent;

    static void appWatch(void *tObject)
    {
      ThreadObject *obj = static_cast&lt;ThreadObject*&gt;(tObject);

      for(;;){
        Sleep(500 + (rand() % 5) * 100);
        SendMessage(obj-&gt;hParent,WM_THREAD_OBJECT_NOTIFY,(WPARAM)obj-&gt;id,NULL);
      }
    }
};
</code></pre>
<p>Sorry wegen der Klassen, ist aber in eine normale WinAPI Anwendung eingebettet.</p>
<p>Man holt sich mit</p>
<pre><code class="language-cpp">ThreadObject *obj = new ThreadObject(1001,hwnd);
obj-&gt;startWatch();
</code></pre>
<p>(Sorry wegen <strong>new</strong> <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f603.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--grinning_face_with_big_eyes"
      title=":D"
      alt="😃"
    /> )</p>
<p>ein ThreadObject und startet mit startWatch() den Thread dieses Objekts. Der Thread eines jeden Objekts schickt nun in relativ zufälligen Abständen eine Nachricht mit seiner id an das Hauptfenster, welches diese recht simpel ausgibt.</p>
<p>Dabei ist beim Benutzen von mehr als einem Objekt zu beobachten, dass die Nachrichten der Objekte immer <em>stoßweise</em> ankommen. Also zb so:</p>
<pre><code>Nachricht id 1; 
Nachricht id 2; 
Nachricht id 3;

[600 millisec vergehen]

Nachricht id 1;
Nachricht id 2;
Nachricht id 3;

[1000 millisec vergehen]

Nachricht id 1;
Nachricht id 2;
Nachricht id 3;

[1100 millisec vergehen]

Nachricht id 1;
Nachricht id 2;
Nachricht id 3;
</code></pre>
<p>Die Abstände sind zufällig, jedoch sind sie bei allen Objekten gleich. Liegt das vielleicht sogar daran, dass der Zufallsgenerator bei paralellen Aufrufen die gleiche Zahl ausspuckt? Kann ich mir nicht vorstellen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/936236</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/936236</guid><dc:creator><![CDATA[nirsaja]]></dc:creator><pubDate>Tue, 06 Dec 2005 21:39:33 GMT</pubDate></item><item><title><![CDATA[Reply to Threads in Klassen on Tue, 06 Dec 2005 21:43:36 GMT]]></title><description><![CDATA[<p>Du hast vergessen den rand zu initialisieren, deswegen liefert er in allen Thread immer die gleichen Abfolgen an Zahlen und somit treten die Events immer gleichzeitig ein...<br />
=&gt;</p>
<pre><code class="language-cpp">static void appWatch(void *tObject)
    {
      ThreadObject *obj = static_cast&lt;ThreadObject*&gt;(tObject);

      srand( (unsigned)time( NULL ) );

      for(;;){
        Sleep(500 + (rand() % 5) * 100);
        SendMessage(obj-&gt;hParent,WM_THREAD_OBJECT_NOTIFY,(WPARAM)obj-&gt;id,NULL);
      }
    }
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/936239</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/936239</guid><dc:creator><![CDATA[Jochen Kalmbach]]></dc:creator><pubDate>Tue, 06 Dec 2005 21:43:36 GMT</pubDate></item><item><title><![CDATA[Reply to Threads in Klassen on Tue, 06 Dec 2005 21:45:01 GMT]]></title><description><![CDATA[<p>Sorry, wollte nicht den ganzen Code posten.<br />
randomize() wird in WM_CREATE aufgerufen!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/936242</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/936242</guid><dc:creator><![CDATA[nirsaja]]></dc:creator><pubDate>Tue, 06 Dec 2005 21:45:01 GMT</pubDate></item><item><title><![CDATA[Reply to Threads in Klassen on Tue, 06 Dec 2005 21:50:27 GMT]]></title><description><![CDATA[<p>Du musst den random in *jedem* Thread initialisieren! Also bringt es nix wenn Du dies in WM_CREATE machst (da dies ja ein ganz anderer Thread ist!).<br />
Auch wenn Du es in dem Thread machst, und Du die Threads ganz schnell hintereinader startest, kann es sein dass der gleiche Seed verwendet wird.... also füge noch irgendein globaler Zähler hinzu...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/936251</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/936251</guid><dc:creator><![CDATA[Jochen Kalmbach]]></dc:creator><pubDate>Tue, 06 Dec 2005 21:50:27 GMT</pubDate></item><item><title><![CDATA[Reply to Threads in Klassen on Tue, 06 Dec 2005 21:57:35 GMT]]></title><description><![CDATA[<p>Der Randomgenerator ist also nicht global, nichtmal innerhalb eines Prozesses!</p>
<p>Ich habe das Initialisieren jetzt mal in jedem Thread vorgenommen. Das bringt auch noch nix. Fügt man jedoch wie du sagtest einen Counter, der pro Initialisierung um sagen wir 100 erhhöt wird, zu time hinzu wird das gewünschte Ergebnis erzielt.</p>
<p>Interessante Sache, vielen Dank für die Tipps...</p>
<p>~nirsaja</p>
]]></description><link>https://www.c-plusplus.net/forum/post/936253</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/936253</guid><dc:creator><![CDATA[nirsaja]]></dc:creator><pubDate>Tue, 06 Dec 2005 21:57:35 GMT</pubDate></item><item><title><![CDATA[Reply to Threads in Klassen on Tue, 06 Dec 2005 22:02:48 GMT]]></title><description><![CDATA[<p>Jochen Kalmbach schrieb:</p>
<blockquote>
<p>Du musst den random in *jedem* Thread initialisieren!</p>
</blockquote>
<p>Nein, eigentlich nicht. Es reicht einmal beim Programmaufruf.<br />
Oder irr ich mich? Bin mir nicht 100% sicher.</p>
<p>mfg.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/936258</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/936258</guid><dc:creator><![CDATA[joomoo]]></dc:creator><pubDate>Tue, 06 Dec 2005 22:02:48 GMT</pubDate></item><item><title><![CDATA[Reply to Threads in Klassen on Tue, 06 Dec 2005 22:30:47 GMT]]></title><description><![CDATA[<p>joomoo schrieb:</p>
<blockquote>
<p>Jochen Kalmbach schrieb:</p>
<blockquote>
<p>Du musst den random in *jedem* Thread initialisieren!</p>
</blockquote>
<p>Nein, eigentlich nicht. Es reicht einmal beim Programmaufruf.<br />
Oder irr ich mich? Bin mir nicht 100% sicher.</p>
</blockquote>
<p>Du irrst Dich (debugge doch einfach mal in srand rein, dann siehst Du es)</p>
]]></description><link>https://www.c-plusplus.net/forum/post/936271</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/936271</guid><dc:creator><![CDATA[Jochen Kalmbach]]></dc:creator><pubDate>Tue, 06 Dec 2005 22:30:47 GMT</pubDate></item></channel></rss>