<?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[std::thread als Klassenattribut]]></title><description><![CDATA[<p>Hallo,</p>
<p>Ich bekomme es einfach nicht hin eine neue Klasse zu schreiben, die einen std::thread als Attribut hat. Der thread soll erst in einer anderen methode (nicht im konstruktor).<br />
Mein Code bis jetzt sieht so aus:</p>
<pre><code>class newThread{
	bool finished;
	bool started;

public:
	std::thread *wThread;
</code></pre>
<p>Jetzt will ich eine methode run haben in der ich den thread ausführe.</p>
<pre><code>void start(){
		wThread(test);
	}
</code></pre>
<p>Warum funktioniert das nicht und gibt es eine Möglichkeit das zu machen?</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/315123/std-thread-als-klassenattribut</link><generator>RSS for Node</generator><lastBuildDate>Fri, 31 Jul 2026 08:55:16 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/315123.rss" rel="self" type="application/rss+xml"/><pubDate>Sun, 24 Mar 2013 19:36:18 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to std::thread als Klassenattribut on Sun, 24 Mar 2013 19:36:18 GMT]]></title><description><![CDATA[<p>Hallo,</p>
<p>Ich bekomme es einfach nicht hin eine neue Klasse zu schreiben, die einen std::thread als Attribut hat. Der thread soll erst in einer anderen methode (nicht im konstruktor).<br />
Mein Code bis jetzt sieht so aus:</p>
<pre><code>class newThread{
	bool finished;
	bool started;

public:
	std::thread *wThread;
</code></pre>
<p>Jetzt will ich eine methode run haben in der ich den thread ausführe.</p>
<pre><code>void start(){
		wThread(test);
	}
</code></pre>
<p>Warum funktioniert das nicht und gibt es eine Möglichkeit das zu machen?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2309386</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2309386</guid><dc:creator><![CDATA[init-0]]></dc:creator><pubDate>Sun, 24 Mar 2013 19:36:18 GMT</pubDate></item><item><title><![CDATA[Reply to std::thread als Klassenattribut on Sun, 24 Mar 2013 19:53:05 GMT]]></title><description><![CDATA[<p>Du hast einen Zeiger. Ich würde mich an deiner Stelle mit den Grundlagen beschäftigen, bevor du Multithreaded-Programme schreibst...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2309391</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2309391</guid><dc:creator><![CDATA[Nexus]]></dc:creator><pubDate>Sun, 24 Mar 2013 19:53:05 GMT</pubDate></item><item><title><![CDATA[Reply to std::thread als Klassenattribut on Sun, 24 Mar 2013 20:05:58 GMT]]></title><description><![CDATA[<p>Ja aber es müsste ja eigentlich irgendwie so aussehen:</p>
<pre><code>std::thread wThread;
	newThread():wThread(test){
</code></pre>
<p>Allerdings bekomme ich hier in der ersten Zeile den Fehler &quot;std::thread &amp;std::thread::operator=(const std::thread &amp;) is inaccessible&quot;.<br />
Ausserdem muss ich hier vor dem Konstruktor schon festlegen welche Funktion ich ausführen will.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2309397</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2309397</guid><dc:creator><![CDATA[init-0]]></dc:creator><pubDate>Sun, 24 Mar 2013 20:05:58 GMT</pubDate></item><item><title><![CDATA[Reply to std::thread als Klassenattribut on Sun, 24 Mar 2013 20:41:27 GMT]]></title><description><![CDATA[<pre><code>wThread = new std::thread(test);
</code></pre>
<p>Aber da du nicht mal mit Pointern umgehen kannst, würde ich mir den Thread-Kram mal ganz, <strong>ganz</strong> schnell aus dem Kopf schlagen und wieder bei den Grundlagen anfangen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2309415</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2309415</guid><dc:creator><![CDATA[cooky451]]></dc:creator><pubDate>Sun, 24 Mar 2013 20:41:27 GMT</pubDate></item><item><title><![CDATA[Reply to std::thread als Klassenattribut on Sun, 24 Mar 2013 20:51:06 GMT]]></title><description><![CDATA[<p>cooky451 schrieb:</p>
<blockquote>
<p>Aber da du nicht mal mit Pointern umgehen kannst, würde ich mir den Thread-Kram mal ganz, <strong>ganz</strong> schnell aus dem Kopf schlagen und wieder bei den Grundlagen anfangen.</p>
</blockquote>
<p>Gewissermaßen gleichzeitig zum &quot;Aus dem Kopf schlagen&quot; bei den Grundlagen anfangen. <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>Generell mal eine Frage:<br />
Bei Klassen, die einen neuen Thread starten, habe ich oft gesehen, dass da Vererbung im Spiel ist. Was ist besser: Member oder Vererbung?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2309420</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2309420</guid><dc:creator><![CDATA[Nathan]]></dc:creator><pubDate>Sun, 24 Mar 2013 20:51:06 GMT</pubDate></item><item><title><![CDATA[Reply to std::thread als Klassenattribut on Sun, 24 Mar 2013 21:01:22 GMT]]></title><description><![CDATA[<p>Member.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2309428</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2309428</guid><dc:creator><![CDATA[cooky451]]></dc:creator><pubDate>Sun, 24 Mar 2013 21:01:22 GMT</pubDate></item><item><title><![CDATA[Reply to std::thread als Klassenattribut on Sun, 24 Mar 2013 21:01:56 GMT]]></title><description><![CDATA[<p>Nathan schrieb:</p>
<blockquote>
<p>Bei Klassen, die einen neuen Thread starten, habe ich oft gesehen, dass da Vererbung im Spiel ist.</p>
</blockquote>
<p>Du meinst eine <code>Thread</code> -Basisklasse mit pur virtueller <code>run()</code> -Methode? Ja, das ist der Java-Stil. Darüber sind wir schon lange hinweg <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>
<p>Nathan schrieb:</p>
<blockquote>
<p>Was ist besser: Member oder Vererbung?</p>
</blockquote>
<p>Tendenziell Member, da du eine schwächere Kopplung hast. Mit <code>std::thread</code> hast du zudem den Vorteil, dass du beliebige Callables (Freie und Memberfunktionen, Funktoren, Lambda-Ausdrücke) binden kannst.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2309429</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2309429</guid><dc:creator><![CDATA[Nexus]]></dc:creator><pubDate>Sun, 24 Mar 2013 21:01:56 GMT</pubDate></item><item><title><![CDATA[Reply to std::thread als Klassenattribut on Sun, 24 Mar 2013 21:07:05 GMT]]></title><description><![CDATA[<p>OK, danke euch.<br />
Wenn man erst in einer Memberfunktion einen Thread starten will, kann man doch als Alternative lokal einen Thread starten und den dann mit detach() weiterlaufen lassen, oder?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2309433</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2309433</guid><dc:creator><![CDATA[Nathan]]></dc:creator><pubDate>Sun, 24 Mar 2013 21:07:05 GMT</pubDate></item><item><title><![CDATA[Reply to std::thread als Klassenattribut on Sun, 24 Mar 2013 21:11:17 GMT]]></title><description><![CDATA[<p>Das kommt darauf an was du willst. Du brauchst auch hier überhaupt keinen Pointer, std::thread hat nen default-Konstruktor und move-assignment-Operator. Allgemein würde ich std::thread allerdings nie einfach so benutzen, bau dir nen raii_thread der im Destruktor entweder joined oder detached.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2309437</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2309437</guid><dc:creator><![CDATA[cooky451]]></dc:creator><pubDate>Sun, 24 Mar 2013 21:11:17 GMT</pubDate></item><item><title><![CDATA[Reply to std::thread als Klassenattribut on Sun, 24 Mar 2013 21:18:36 GMT]]></title><description><![CDATA[<p>Ja, meine Frage war auch eher theoretisch, habe noch nie richtig mit Threads gearbeitet.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2309440</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2309440</guid><dc:creator><![CDATA[Nathan]]></dc:creator><pubDate>Sun, 24 Mar 2013 21:18:36 GMT</pubDate></item></channel></rss>