<?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[Thread]]></title><description><![CDATA[<p>Hallo zusammen.<br />
Ich habe ein kleines Spiel gemacht, dessen code ich hier leider nicht posten kann da er zu groß ist.<br />
Ich wil, dass eine Objektvariable immer nach 10 sekunden das ergebnis einer andere mit 10 multipliziert annimmt.<br />
Ich habe mir gedacht dass könnte man mit einem thread lösen, doch reicht es da wenn ich dass Objekt als parameter übergebe?<br />
Oder wie kann ich das sonst lösen?</p>
<p>Danke schonmal.</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/175491/thread</link><generator>RSS for Node</generator><lastBuildDate>Tue, 25 Aug 2026 08:51:31 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/175491.rss" rel="self" type="application/rss+xml"/><pubDate>Sun, 11 Mar 2007 10:52:25 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Thread on Sun, 11 Mar 2007 10:52:25 GMT]]></title><description><![CDATA[<p>Hallo zusammen.<br />
Ich habe ein kleines Spiel gemacht, dessen code ich hier leider nicht posten kann da er zu groß ist.<br />
Ich wil, dass eine Objektvariable immer nach 10 sekunden das ergebnis einer andere mit 10 multipliziert annimmt.<br />
Ich habe mir gedacht dass könnte man mit einem thread lösen, doch reicht es da wenn ich dass Objekt als parameter übergebe?<br />
Oder wie kann ich das sonst lösen?</p>
<p>Danke schonmal.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1243234</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1243234</guid><dc:creator><![CDATA[Rastaman]]></dc:creator><pubDate>Sun, 11 Mar 2007 10:52:25 GMT</pubDate></item><item><title><![CDATA[Reply to Thread on Sun, 11 Mar 2007 11:56:20 GMT]]></title><description><![CDATA[<p>Ja sollte funktionieren wenn die andresse übergibts oder ne referenz.<br />
Solltest dann noch drauf achten das dein thread mitbekommt wenn das Objekt deletet wird sonst gibts speicher error.</p>
<p>mfg tobZel</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1243273</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1243273</guid><dc:creator><![CDATA[tobZel]]></dc:creator><pubDate>Sun, 11 Mar 2007 11:56:20 GMT</pubDate></item><item><title><![CDATA[Reply to Thread on Sun, 11 Mar 2007 12:26:41 GMT]]></title><description><![CDATA[<p>Ich bekomme jetzt die Fehlermeldung:<br />
Expected initializer before int.</p>
<p>In der Zeile in der meine main anfängt:</p>
<pre><code class="language-cpp">int main()
</code></pre>
<p>Kann mir jemand helfen?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1243290</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1243290</guid><dc:creator><![CDATA[Rastaman]]></dc:creator><pubDate>Sun, 11 Mar 2007 12:26:41 GMT</pubDate></item><item><title><![CDATA[Reply to Thread on Sun, 11 Mar 2007 12:29:45 GMT]]></title><description><![CDATA[<p>Was steht davor? Semikolon vergessen?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1243293</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1243293</guid><dc:creator><![CDATA[MFK]]></dc:creator><pubDate>Sun, 11 Mar 2007 12:29:45 GMT</pubDate></item><item><title><![CDATA[Reply to Thread on Sun, 11 Mar 2007 12:34:30 GMT]]></title><description><![CDATA[<p>Oh, ja.<br />
Vielen Dank.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1243295</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1243295</guid><dc:creator><![CDATA[Rastaman]]></dc:creator><pubDate>Sun, 11 Mar 2007 12:34:30 GMT</pubDate></item><item><title><![CDATA[Reply to Thread on Sun, 11 Mar 2007 13:41:23 GMT]]></title><description><![CDATA[<p>Wie muss das dann aussehen wenn ich das Objekt als Zeiger übergeben will?<br />
Ich hab es mal so probiert:</p>
<pre><code class="language-cpp">int pthread_create(&amp;thread1, NULL, count,(void*) Player1);
</code></pre>
<p>Da kommt aber die Fehlermeldung:<br />
invalid cast from type ‘player’ to type ‘void*’</p>
<p>Wie muss man es dann amchen?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1243351</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1243351</guid><dc:creator><![CDATA[Rastaman]]></dc:creator><pubDate>Sun, 11 Mar 2007 13:41:23 GMT</pubDate></item><item><title><![CDATA[Reply to Thread on Sun, 11 Mar 2007 14:24:44 GMT]]></title><description><![CDATA[<p>Rastaman schrieb:</p>
<blockquote>
<p>Wie muss das dann aussehen wenn ich das Objekt als Zeiger übergeben will?<br />
Ich hab es mal so probiert:</p>
<pre><code class="language-cpp">int pthread_create(&amp;thread1, NULL, count,(void*) Player1);
</code></pre>
<p>Da kommt aber die Fehlermeldung:<br />
invalid cast from type ‘player’ to type ‘void*’</p>
<p>Wie muss man es dann amchen?</p>
</blockquote>
<p>Naja, Du willst ja vermutlich nicht das Objekt Player1 auf einen void* casten und übergeben, sondern die Adresse des Objekts, oder ? (so funktioniert jedenfalls das pthread_create(), das ich kenne <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="😉"
    /> ).<br />
Dazu musst Du die Adresse bestimmen und das machst Du mit &amp;:</p>
<pre><code class="language-cpp">...,(void*) &amp;Player1);
</code></pre>
<p>(ach ja: braucht pthread_create() nicht eine <em>Funktion</em>spointer ?? Ist das count ?)</p>
<p>Gruß,</p>
<p>Simon2.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1243400</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1243400</guid><dc:creator><![CDATA[Simon2]]></dc:creator><pubDate>Sun, 11 Mar 2007 14:24:44 GMT</pubDate></item><item><title><![CDATA[Reply to Thread on Sun, 11 Mar 2007 15:58:03 GMT]]></title><description><![CDATA[<p>Wenn das Spiel in C++ ist kannst du auch <a href="http://www.boost.org/libs/thread" rel="nofollow">Boost.Thread</a> benutzen. Das erspart dir die doofen Casts (für die es übrigens auch eine C++ Variante gibt, static_cast oder reinterpret_cast in diesem Fall) und macht das ganze typsicher.</p>
<p>/edit Und nicht erschrecken, für solch einfache Sachen brauchst du nur die Klasse boost::thread, für die Variablen boost::bind und boost::ref.<br />
Beispiel:</p>
<pre><code class="language-cpp">boost::thread t (boost::bind (&amp;func, boost::ref (variable));
// blabla
t.join ();
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1243460</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1243460</guid><dc:creator><![CDATA[.filmor]]></dc:creator><pubDate>Sun, 11 Mar 2007 15:58:03 GMT</pubDate></item><item><title><![CDATA[Reply to Thread on Sun, 11 Mar 2007 19:27:59 GMT]]></title><description><![CDATA[<p>@ Simon2<br />
So hab ichs probiert, jetzt kommt die Fehlermeldung:<br />
game.cpp: In function ‘int main()’:<br />
game.cpp:95: error: initializer expression list treated as compound expression<br />
game.cpp:95: error: right-hand operand of comma cannot resolve address of overloaded function<br />
game.cpp:95: error: invalid conversion from ‘void*’ to ‘int’</p>
<p>Linie 95 ist die in der der thread initializer steht.</p>
<p>Ich glaub ich probiers mal mit den Boost threads.</p>
<p>/edit:<br />
falls jemand doch weiß wie ich das oben genannte Problem lösen kann wärs nicht schlecht.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1243531</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1243531</guid><dc:creator><![CDATA[Rastaman]]></dc:creator><pubDate>Sun, 11 Mar 2007 19:27:59 GMT</pubDate></item><item><title><![CDATA[Reply to Thread on Mon, 12 Mar 2007 00:30:52 GMT]]></title><description><![CDATA[<p>Rastaman schrieb:</p>
<blockquote>
<p>Hallo zusammen.<br />
Ich habe ein kleines <strong>Spiel</strong> gemacht, dessen code ich hier leider nicht posten kann da er zu groß ist.<br />
Ich wil, dass eine Objektvariable immer nach 10 sekunden das ergebnis einer andere mit 10 multipliziert annimmt.<br />
Ich habe mir gedacht dass könnte man mit einem thread lösen, doch reicht es da wenn ich dass Objekt als parameter übergebe?<br />
Oder wie kann ich das sonst lösen?</p>
<p>Danke schonmal.</p>
</blockquote>
<p>Da es sich um ein Spiel handelt gehe ich mal davon aus dass du wohl eine Art Hauptschleife haben wirst, die immer wieder durchlaufen wird, z.B. pro Bildaufbau. Da drinnen fragst du dann einfach die aktuelle Zeit ab, und übernimmst die Werte entsprechend. Dadurch sparst du dir den ganzen Firlefanz mit Threads und Synchronisierung.</p>
<p>Pseudocode:</p>
<pre><code class="language-cpp">int main()
{
    while (game_running)
    {
        time = get_time();
        if (time &gt; (last_xxx_time + 10*TICKS_PER_SECOND))
        {
            xxx();
            last_xxx_time = time;
        }

        update();
        render();
    }
}
</code></pre>
<p>Das ist auf jeden Fall der &quot;übliche&quot; Weg sowas zu lösen -- für sowas nimmt man doch nicht einen Thread her.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1243710</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1243710</guid><dc:creator><![CDATA[hustbaer]]></dc:creator><pubDate>Mon, 12 Mar 2007 00:30:52 GMT</pubDate></item><item><title><![CDATA[Reply to Thread on Mon, 12 Mar 2007 16:02:58 GMT]]></title><description><![CDATA[<p>Das kenn ich noch nicht, verstehs auch noch nicht ganz aber ich denk ich werd mich da mal ran machen.</p>
<p>Vielen Dank.</p>
<p>//Aber was wenn die Haupzschleife für längere Zeit nicht durchlaufen wird?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1244120</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1244120</guid><dc:creator><![CDATA[Rastaman]]></dc:creator><pubDate>Mon, 12 Mar 2007 16:02:58 GMT</pubDate></item><item><title><![CDATA[Reply to Thread on Mon, 12 Mar 2007 20:07:12 GMT]]></title><description><![CDATA[<p>Rastaman schrieb:</p>
<blockquote>
<p>//Aber was wenn die Haupzschleife für längere Zeit nicht durchlaufen wird?</p>
</blockquote>
<p>Man sorgt eben dafür dass genau das nie passiert <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="😉"
    /><br />
(bzw. dass WENN es passiert es auch egal ist dass dieser &quot;alle 10 Sekunden&quot; Job dann nicht läuft)</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1244296</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1244296</guid><dc:creator><![CDATA[hustbaer]]></dc:creator><pubDate>Mon, 12 Mar 2007 20:07:12 GMT</pubDate></item></channel></rss>