<?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[[boost] Thread-Klasse]]></title><description><![CDATA[<p>Hi, vor einigen Jahren habe ich C++ in der Berufsschule kennengelernt<br />
(auch, wenn wir da mehr mit C-Konstrukten gearbeitet haben, aber was soll's).<br />
In den letzten 2 1/2 Jahren habe ich durch's Studium intensiv mit Java und<br />
privat viel mit Python gearbeitet. Inzwischen will ich mich wieder an C++<br />
&quot;ranwagen&quot; - bisher problemlos.</p>
<p>Allerdings komme ich beim Thema Multithreading nicht weiter. Von Java kenne<br />
ich die Thread-Klasse und habe eine solche in C++ gesucht. Nach einer Weile<br />
Googeln bin ich nun beim boost-Framework hängengeblieben. Allerdings klappt<br />
es nicht so recht, eine Thread-Klasse - wie ich sie aus Java kenne -<br />
nachzubauen. Erstmal hier der Code meiner <strong>parallel.cpp</strong>:</p>
<pre><code class="language-cpp">#include &lt;iostream&gt;
#include &lt;boost/thread.hpp&gt;
#include &lt;boost/bind.hpp&gt;

using namespace std;

// meine Thread-Klasse
class Thread {
    private:
        boost::thread* thread;
    public:
        Thread() {
            // hier versuche ich die run-Methode als Thread zu starten
            this-&gt;thread = new boost::thread(boost::bind(&amp;Thread::run, this));
        }
        ~Thread() {
            this-&gt;thread-&gt;join();
        }
        virtual void run() {}
};

// und das ist dann meine von Thread abgeleitete Klasse
class MyThread: public Thread {
    public:
        virtual void run() {
            // ... mit irgendwelchen Anweisungen
            cout &lt;&lt; &quot;foobar&quot; &lt;&lt; endl;
        }
};

int main() {
    MyThread* mt = new MyThread();
    delete mt; // damit der thread irgendwann &quot;gejoint&quot; wird und das Programm beenden kann
    return 0;
}
</code></pre>
<p>Kompiliere ich (btw verwende ich unter Linux Ubuntu den g++ als Compiler)<br />
meinen Code, erhalte ich einen Haufen (aus meiner Sicht) undefinierbarer<br />
Fehlermeldungen:</p>
<blockquote>
<p>/tmp/ccyQmUsE.o: In function <code>boost::detail::thread\_data\_base::thread\_data\_base()': parallel.cpp:(.text.\_ZN5boost6detail16thread\_data\_baseC2Ev\[\_ZN5boost6detail16thread\_data\_baseC5Ev\]+0x1a): undefined reference to</code>vtable for boost::detail::thread_data_base'<br />
/tmp/ccyQmUsE.o: In function <code>Thread::~Thread()': parallel.cpp:(.text.\_ZN6ThreadD2Ev\[\_ZN6ThreadD5Ev\]+0x19): undefined reference to</code>boost::thread::join()'<br />
/tmp/ccyQmUsE.o: In function <code>boost::thread::thread&lt;boost::\_bi::bind\_t&lt;void, boost::\_mfi::mf0&lt;void, Thread&gt;, boost::\_bi::list1&lt;boost::\_bi::value&lt;Thread*&gt; &gt; &gt; &gt;(boost::\_bi::bind\_t&lt;void, boost::\_mfi::mf0&lt;void, Thread&gt;, boost::\_bi::list1&lt;boost::\_bi::value&lt;Thread*&gt; &gt; &gt;, boost::disable\_if&lt;boost::is\_convertible&lt;boost::\_bi::bind\_t&lt;void, boost::\_mfi::mf0&lt;void, Thread&gt;, boost::\_bi::list1&lt;boost::\_bi::value&lt;Thread*&gt; &gt; &gt;&amp;, boost::detail::thread\_move\_t&lt;boost::\_bi::bind\_t&lt;void, boost::\_mfi::mf0&lt;void, Thread&gt;, boost::\_bi::list1&lt;boost::\_bi::value&lt;Thread*&gt; &gt; &gt; &gt; &gt;, boost::thread::dummy*&gt;::type)': parallel.cpp:(.text.\_ZN5boost6threadC2INS\_3\_bi6bind\_tIvNS\_4\_mfi3mf0Iv6ThreadEENS2\_5list1INS2\_5valueIPS6\_EEEEEEEET\_NS\_10disable\_ifINS\_14is\_convertibleIRSE\_NS\_6detail13thread\_move\_tISE\_EEEEPNS0\_5dummyEE4typeE\[\_ZN5boost6threadC5INS\_3\_bi6bind\_tIvNS\_4\_mfi3mf0Iv6ThreadEENS2\_5list1INS2\_5valueIPS6\_EEEEEEEET\_NS\_10disable\_ifINS\_14is\_convertibleIRSE\_NS\_6detail13thread\_move\_tISE\_EEEEPNS0\_5dummyEE4typeE\]+0x31): undefined reference to</code>boost::thread::start_thread()'<br />
/tmp/ccyQmUsE.o: In function <code>boost::detail::thread\_data&lt;boost::\_bi::bind\_t&lt;void, boost::\_mfi::mf0&lt;void, Thread&gt;, boost::\_bi::list1&lt;boost::\_bi::value&lt;Thread*&gt; &gt; &gt; &gt;::~thread_data()': parallel.cpp:(.text.\_ZN5boost6detail11thread\_dataINS\_3\_bi6bind\_tIvNS\_4\_mfi3mf0Iv6ThreadEENS2\_5list1INS2\_5valueIPS6\_EEEEEEED2Ev\[\_ZN5boost6detail11thread\_dataINS\_3\_bi6bind\_tIvNS\_4\_mfi3mf0Iv6ThreadEENS2\_5list1INS2\_5valueIPS6\_EEEEEEED5Ev\]+0x16): undefined reference to</code>boost::detail::thread_data_base::~thread_data_base()'<br />
/tmp/ccyQmUsE.o:(.rodata._ZTIN5boost6detail11thread_dataINS_3_bi6bind_tIvNS_4_mfi3mf0Iv6ThreadEENS2_5list1INS2_5valueIPS6_EEEEEEEE[typeinfo for boost::detail::thread_data&lt;boost::_bi::bind_t&lt;void, boost::_mfi::mf0&lt;void, Thread&gt;, boost::_bi::list1&lt;boost::_bi::value&lt;Thread*&gt; &gt; &gt; &gt;]+0x8): undefined reference to `typeinfo for boost::detail::thread_data_base'<br />
collect2: ld gab 1 als Ende-Status zurück</p>
</blockquote>
<p>Ich hoffe, dass jemand eine Idee hat, was ich falsch mache <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>LG Glocke</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/308650/boost-thread-klasse</link><generator>RSS for Node</generator><lastBuildDate>Wed, 05 Aug 2026 18:05:41 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/308650.rss" rel="self" type="application/rss+xml"/><pubDate>Mon, 01 Oct 2012 14:41:49 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to [boost] Thread-Klasse on Mon, 01 Oct 2012 14:44:35 GMT]]></title><description><![CDATA[<p>Hi, vor einigen Jahren habe ich C++ in der Berufsschule kennengelernt<br />
(auch, wenn wir da mehr mit C-Konstrukten gearbeitet haben, aber was soll's).<br />
In den letzten 2 1/2 Jahren habe ich durch's Studium intensiv mit Java und<br />
privat viel mit Python gearbeitet. Inzwischen will ich mich wieder an C++<br />
&quot;ranwagen&quot; - bisher problemlos.</p>
<p>Allerdings komme ich beim Thema Multithreading nicht weiter. Von Java kenne<br />
ich die Thread-Klasse und habe eine solche in C++ gesucht. Nach einer Weile<br />
Googeln bin ich nun beim boost-Framework hängengeblieben. Allerdings klappt<br />
es nicht so recht, eine Thread-Klasse - wie ich sie aus Java kenne -<br />
nachzubauen. Erstmal hier der Code meiner <strong>parallel.cpp</strong>:</p>
<pre><code class="language-cpp">#include &lt;iostream&gt;
#include &lt;boost/thread.hpp&gt;
#include &lt;boost/bind.hpp&gt;

using namespace std;

// meine Thread-Klasse
class Thread {
    private:
        boost::thread* thread;
    public:
        Thread() {
            // hier versuche ich die run-Methode als Thread zu starten
            this-&gt;thread = new boost::thread(boost::bind(&amp;Thread::run, this));
        }
        ~Thread() {
            this-&gt;thread-&gt;join();
        }
        virtual void run() {}
};

// und das ist dann meine von Thread abgeleitete Klasse
class MyThread: public Thread {
    public:
        virtual void run() {
            // ... mit irgendwelchen Anweisungen
            cout &lt;&lt; &quot;foobar&quot; &lt;&lt; endl;
        }
};

int main() {
    MyThread* mt = new MyThread();
    delete mt; // damit der thread irgendwann &quot;gejoint&quot; wird und das Programm beenden kann
    return 0;
}
</code></pre>
<p>Kompiliere ich (btw verwende ich unter Linux Ubuntu den g++ als Compiler)<br />
meinen Code, erhalte ich einen Haufen (aus meiner Sicht) undefinierbarer<br />
Fehlermeldungen:</p>
<blockquote>
<p>/tmp/ccyQmUsE.o: In function <code>boost::detail::thread\_data\_base::thread\_data\_base()': parallel.cpp:(.text.\_ZN5boost6detail16thread\_data\_baseC2Ev\[\_ZN5boost6detail16thread\_data\_baseC5Ev\]+0x1a): undefined reference to</code>vtable for boost::detail::thread_data_base'<br />
/tmp/ccyQmUsE.o: In function <code>Thread::~Thread()': parallel.cpp:(.text.\_ZN6ThreadD2Ev\[\_ZN6ThreadD5Ev\]+0x19): undefined reference to</code>boost::thread::join()'<br />
/tmp/ccyQmUsE.o: In function <code>boost::thread::thread&lt;boost::\_bi::bind\_t&lt;void, boost::\_mfi::mf0&lt;void, Thread&gt;, boost::\_bi::list1&lt;boost::\_bi::value&lt;Thread*&gt; &gt; &gt; &gt;(boost::\_bi::bind\_t&lt;void, boost::\_mfi::mf0&lt;void, Thread&gt;, boost::\_bi::list1&lt;boost::\_bi::value&lt;Thread*&gt; &gt; &gt;, boost::disable\_if&lt;boost::is\_convertible&lt;boost::\_bi::bind\_t&lt;void, boost::\_mfi::mf0&lt;void, Thread&gt;, boost::\_bi::list1&lt;boost::\_bi::value&lt;Thread*&gt; &gt; &gt;&amp;, boost::detail::thread\_move\_t&lt;boost::\_bi::bind\_t&lt;void, boost::\_mfi::mf0&lt;void, Thread&gt;, boost::\_bi::list1&lt;boost::\_bi::value&lt;Thread*&gt; &gt; &gt; &gt; &gt;, boost::thread::dummy*&gt;::type)': parallel.cpp:(.text.\_ZN5boost6threadC2INS\_3\_bi6bind\_tIvNS\_4\_mfi3mf0Iv6ThreadEENS2\_5list1INS2\_5valueIPS6\_EEEEEEEET\_NS\_10disable\_ifINS\_14is\_convertibleIRSE\_NS\_6detail13thread\_move\_tISE\_EEEEPNS0\_5dummyEE4typeE\[\_ZN5boost6threadC5INS\_3\_bi6bind\_tIvNS\_4\_mfi3mf0Iv6ThreadEENS2\_5list1INS2\_5valueIPS6\_EEEEEEEET\_NS\_10disable\_ifINS\_14is\_convertibleIRSE\_NS\_6detail13thread\_move\_tISE\_EEEEPNS0\_5dummyEE4typeE\]+0x31): undefined reference to</code>boost::thread::start_thread()'<br />
/tmp/ccyQmUsE.o: In function <code>boost::detail::thread\_data&lt;boost::\_bi::bind\_t&lt;void, boost::\_mfi::mf0&lt;void, Thread&gt;, boost::\_bi::list1&lt;boost::\_bi::value&lt;Thread*&gt; &gt; &gt; &gt;::~thread_data()': parallel.cpp:(.text.\_ZN5boost6detail11thread\_dataINS\_3\_bi6bind\_tIvNS\_4\_mfi3mf0Iv6ThreadEENS2\_5list1INS2\_5valueIPS6\_EEEEEEED2Ev\[\_ZN5boost6detail11thread\_dataINS\_3\_bi6bind\_tIvNS\_4\_mfi3mf0Iv6ThreadEENS2\_5list1INS2\_5valueIPS6\_EEEEEEED5Ev\]+0x16): undefined reference to</code>boost::detail::thread_data_base::~thread_data_base()'<br />
/tmp/ccyQmUsE.o:(.rodata._ZTIN5boost6detail11thread_dataINS_3_bi6bind_tIvNS_4_mfi3mf0Iv6ThreadEENS2_5list1INS2_5valueIPS6_EEEEEEEE[typeinfo for boost::detail::thread_data&lt;boost::_bi::bind_t&lt;void, boost::_mfi::mf0&lt;void, Thread&gt;, boost::_bi::list1&lt;boost::_bi::value&lt;Thread*&gt; &gt; &gt; &gt;]+0x8): undefined reference to `typeinfo for boost::detail::thread_data_base'<br />
collect2: ld gab 1 als Ende-Status zurück</p>
</blockquote>
<p>Ich hoffe, dass jemand eine Idee hat, was ich falsch mache <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>LG Glocke</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2256117</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2256117</guid><dc:creator><![CDATA[Glocke]]></dc:creator><pubDate>Mon, 01 Oct 2012 14:44:35 GMT</pubDate></item><item><title><![CDATA[Reply to [boost] Thread-Klasse on Mon, 01 Oct 2012 14:47:35 GMT]]></title><description><![CDATA[<p>Du musst noch die libboost_thread dazu linken. Und wenn du das gemacht hast, auch noch den Compilerschalter -pthread (sowohl beim Linken als auch beim Compilieren).</p>
<p>Aber wenn du mit dem g++ unter Linux unterwegs bist, dann nimm doch gleich die Threads aus der C++11-Standardbibliothek. Die sind ziemlich genau das gleiche wie die Boost-Threads + Futures&amp;Promises, aber ohne dass du eine Abhängigkeit von Boost hast.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2256121</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2256121</guid><dc:creator><![CDATA[SeppJ]]></dc:creator><pubDate>Mon, 01 Oct 2012 14:47:35 GMT</pubDate></item><item><title><![CDATA[Reply to [boost] Thread-Klasse on Mon, 01 Oct 2012 14:57:20 GMT]]></title><description><![CDATA[<p>Glocke schrieb:</p>
<blockquote>
<p>Allerdings klappt es nicht so recht, eine Thread-Klasse - wie ich sie aus Java kenne - nachzubauen.</p>
</blockquote>
<p>Warum solltest du das tun wollen?</p>
<p>Das ist wie wenn du daher kommst und sagst &quot;ich kenne Autos schon aus England. Jetzt nehme ich ein Auto aus Deutschland und versuche die englischen Autos nachzubauen. Ich hab schon ein Lenkrad auf die andere Seite montiert und das andere abgebaut. Aber so richtig tut das noch nicht...&quot;</p>
<p>C++ ist nicht Java. Versuch also auch nicht, in C++ irgendwas nachzubauen, was du aus Java kennst. Vor allem dann nicht, wenn es in C++ schon was fertiges gibt.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2256129</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2256129</guid><dc:creator><![CDATA[pumuckl]]></dc:creator><pubDate>Mon, 01 Oct 2012 14:57:20 GMT</pubDate></item><item><title><![CDATA[Reply to [boost] Thread-Klasse on Mon, 01 Oct 2012 15:03:57 GMT]]></title><description><![CDATA[<p>Ich hab jetzt mal das Example von <a href="http://en.cppreference.com/w/cpp/thread/thread/thread" rel="nofollow">http://en.cppreference.com/w/cpp/thread/thread/thread</a> genommen</p>
<pre><code class="language-cpp">#include &lt;iostream&gt;
#include &lt;utility&gt;
#include &lt;thread&gt;
#include &lt;chrono&gt;
#include &lt;functional&gt;
#include &lt;atomic&gt;

void f1(int n)
{
    for(int i=0; i&lt;5; ++i) {
        std::cout &lt;&lt; &quot;Thread &quot; &lt;&lt; n &lt;&lt; &quot; executing\n&quot;;
        std::this_thread::sleep_for(std::chrono::milliseconds(10));
    }
}

void f2(int&amp; n)
{
    for(int i=0; i&lt;5; ++i) {
        std::cout &lt;&lt; &quot;Thread 2 executing\n&quot;;
        ++n;
        std::this_thread::sleep_for(std::chrono::milliseconds(10));
    }
}

int main()
{
    int n = 0;
    std::thread t1; // t1 is not a thread
    std::thread t2(f1, n+1); // pass by value
    std::thread t3(f2, std::ref(n)); // pass by reference
    std::thread t4(std::move(t3)); // t4 is now running f2(). t3 is no longer a thread
    t2.join();
    t4.join();
    std::cout &lt;&lt; &quot;Final value of n is &quot; &lt;&lt; n &lt;&lt; '\n';
}
</code></pre>
<p>und es probiert mit <strong>g++ test.cpp -o test -std=c++0x</strong> compiliert. Beim Ausführen kommt</p>
<pre><code>terminate called after throwing an instance of 'std::system_error'
  what():  Operation not permitted
Abgebrochen (Speicherabzug geschrieben)
</code></pre>
<p>Was hab ich diesmal veregssen? <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><a class="plugin-mentions-user plugin-mentions-a" href="https://www.c-plusplus.net/forum/uid/9960">@pumuckl</a>: Es gibt schon so eine Klasse? Warum finde ich die nicht <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f61e.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--disappointed_face"
      title=":("
      alt="😞"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/2256133</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2256133</guid><dc:creator><![CDATA[Glocke]]></dc:creator><pubDate>Mon, 01 Oct 2012 15:03:57 GMT</pubDate></item><item><title><![CDATA[Reply to [boost] Thread-Klasse on Mon, 01 Oct 2012 15:25:05 GMT]]></title><description><![CDATA[<p>SeppJ schrieb:</p>
<blockquote>
<p>[...] Und wenn du das gemacht hast, auch noch den <strong>Compilerschalter -pthread</strong> (sowohl beim Linken als auch beim Compilieren).<br />
[...]</p>
</blockquote>
]]></description><link>https://www.c-plusplus.net/forum/post/2256141</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2256141</guid><dc:creator><![CDATA[pyhax]]></dc:creator><pubDate>Mon, 01 Oct 2012 15:25:05 GMT</pubDate></item><item><title><![CDATA[Reply to [boost] Thread-Klasse on Mon, 01 Oct 2012 15:26:49 GMT]]></title><description><![CDATA[<p>Kein Kommentar xDD Danke <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/2256142</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2256142</guid><dc:creator><![CDATA[Glocke]]></dc:creator><pubDate>Mon, 01 Oct 2012 15:26:49 GMT</pubDate></item><item><title><![CDATA[Reply to [boost] Thread-Klasse on Mon, 01 Oct 2012 15:40:35 GMT]]></title><description><![CDATA[<p>Glocke schrieb:</p>
<blockquote>
<p>Ich hab jetzt mal das Example von <a href="http://en.cppreference.com/w/cpp/thread/thread/thread" rel="nofollow">http://en.cppreference.com/w/cpp/thread/thread/thread</a> genommen<br />
[...]<br />
<a class="plugin-mentions-user plugin-mentions-a" href="https://www.c-plusplus.net/forum/uid/9960">@pumuckl</a>: Es gibt schon so eine Klasse? Warum finde ich die nicht <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f61e.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--disappointed_face"
      title=":("
      alt="😞"
    /></p>
</blockquote>
<p>Dies ist alles sehr verwirrend...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2256146</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2256146</guid><dc:creator><![CDATA[SeppJ]]></dc:creator><pubDate>Mon, 01 Oct 2012 15:40:35 GMT</pubDate></item><item><title><![CDATA[Reply to [boost] Thread-Klasse on Mon, 01 Oct 2012 15:48:20 GMT]]></title><description><![CDATA[<p>Glocke schrieb:</p>
<blockquote>
<p><a class="plugin-mentions-user plugin-mentions-a" href="https://www.c-plusplus.net/forum/uid/9960">@pumuckl</a>: Es gibt schon so eine Klasse? Warum finde ich die nicht <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f61e.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--disappointed_face"
      title=":("
      alt="😞"
    /></p>
</blockquote>
<p>Jup, die nennt sich std::thread... warum du nicht findest, was du die ganze Zeit schon benutzt, versteh ich auch nicht <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f642.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--slightly_smiling_face"
      title=":)"
      alt="🙂"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/2256152</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2256152</guid><dc:creator><![CDATA[pumuckl]]></dc:creator><pubDate>Mon, 01 Oct 2012 15:48:20 GMT</pubDate></item><item><title><![CDATA[Reply to [boost] Thread-Klasse on Mon, 01 Oct 2012 21:12:48 GMT]]></title><description><![CDATA[<p>Mal abgesehen davon, dass die Java-Threads so ziemlich der groesste Design-Fail ueberhaupt sind. Pfui Teufel.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2256272</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2256272</guid><dc:creator><![CDATA[Kellerautomat]]></dc:creator><pubDate>Mon, 01 Oct 2012 21:12:48 GMT</pubDate></item><item><title><![CDATA[Reply to [boost] Thread-Klasse on Mon, 01 Oct 2012 21:31:35 GMT]]></title><description><![CDATA[<p>Kellerautomat schrieb:</p>
<blockquote>
<p>Mal abgesehen davon, dass die Java-Threads so ziemlich der groesste Design-Fail ueberhaupt sind. Pfui Teufel.</p>
</blockquote>
<p>Na wenn der mächtige Kellerautomat das sagt muss es ja wohl stimmen einself.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2256279</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2256279</guid><dc:creator><![CDATA[hustbaer]]></dc:creator><pubDate>Mon, 01 Oct 2012 21:31:35 GMT</pubDate></item><item><title><![CDATA[Reply to [boost] Thread-Klasse on Mon, 01 Oct 2012 21:51:50 GMT]]></title><description><![CDATA[<pre><code class="language-java">class Thread implements Runnable
</code></pre>
<p><img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f644.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--face_with_rolling_eyes"
      title=":rolling_eyes:"
      alt="🙄"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/2256282</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2256282</guid><dc:creator><![CDATA[Kellerautomat]]></dc:creator><pubDate>Mon, 01 Oct 2012 21:51:50 GMT</pubDate></item><item><title><![CDATA[Reply to [boost] Thread-Klasse on Mon, 01 Oct 2012 23:24:57 GMT]]></title><description><![CDATA[<p>Und das ist jetzt schlimm weil ...?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2256296</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2256296</guid><dc:creator><![CDATA[hustbaer]]></dc:creator><pubDate>Mon, 01 Oct 2012 23:24:57 GMT</pubDate></item><item><title><![CDATA[Reply to [boost] Thread-Klasse on Mon, 01 Oct 2012 23:54:13 GMT]]></title><description><![CDATA[<p>Ein Thread ist nichts, das man ausfuehrt, sondern etwas, das man etwas ausfuehren laesst. Daher zu behaupten, ein Thread <em>sei</em> ein Runnable (= implements), ist voelliger Schwachsinn. Sollte daher eher so sein:</p>
<pre><code class="language-java">class Thread
{
        private Runnable runnable;

        // ...
}
</code></pre>
<p>Und dann haette Thread auch keine run()-Methode, die das Runnable im selben Thread ausfuehrt.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2256298</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2256298</guid><dc:creator><![CDATA[Kellerautomat]]></dc:creator><pubDate>Mon, 01 Oct 2012 23:54:13 GMT</pubDate></item><item><title><![CDATA[Reply to [boost] Thread-Klasse on Tue, 02 Oct 2012 00:09:50 GMT]]></title><description><![CDATA[<p>Und deswegen ist die ganze Java-Threads Implementierung ein einziger Design-Fail. Hätten wir das auch geklärt.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2256301</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2256301</guid><dc:creator><![CDATA[hustbaer]]></dc:creator><pubDate>Tue, 02 Oct 2012 00:09:50 GMT</pubDate></item><item><title><![CDATA[Reply to [boost] Thread-Klasse on Tue, 02 Oct 2012 00:57:05 GMT]]></title><description><![CDATA[<p>Das Interface ist ein Design-Fail. Jop. :p</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2256306</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2256306</guid><dc:creator><![CDATA[Kellerautomat]]></dc:creator><pubDate>Tue, 02 Oct 2012 00:57:05 GMT</pubDate></item></channel></rss>