<?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 zu boost::threads]]></title><description><![CDATA[<p>versuche mich grad an Thread-Programmierung und verwende die Boost-Bibliothek. Ziel ist, eine OpenCV-Programm, welches zur Zeit &quot;seriell&quot; abläuft, zu paralellisieren. Nun habe ich noch ein paar einfache Fragen, die bestimmt von Euch beantwortet werden können:</p>
<ul>
<li>Thema Synchronisation: muss ich &quot;Locken&quot;, wenn zwei Threads ausschließlich lesend auf eine Variable zugreifen?</li>
<li>habe einen Intel DualCore: ist es sinvoll, mehr als 2 threads zu starten bzw gleichzeitig laufen zu lassen, wenn ich sowieso &quot;nur&quot; zwei Kerne habe?</li>
<li>ist es schneller, eine for-Schleife innerhalb eines Threads durchlaufen zu lassen, oder eine for-Schleife zu programmieren, in dem der Thread immer wieder neu gestartet wird( da wäre die Synchronisation mit anderen Threads für meinen Fall einfacher)?</li>
</ul>
]]></description><link>https://www.c-plusplus.net/forum/topic/235475/frage-zu-boost-threads</link><generator>RSS for Node</generator><lastBuildDate>Thu, 24 Sep 2026 05:42:26 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/235475.rss" rel="self" type="application/rss+xml"/><pubDate>Mon, 02 Mar 2009 18:42:05 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Frage zu boost::threads on Mon, 02 Mar 2009 18:42:05 GMT]]></title><description><![CDATA[<p>versuche mich grad an Thread-Programmierung und verwende die Boost-Bibliothek. Ziel ist, eine OpenCV-Programm, welches zur Zeit &quot;seriell&quot; abläuft, zu paralellisieren. Nun habe ich noch ein paar einfache Fragen, die bestimmt von Euch beantwortet werden können:</p>
<ul>
<li>Thema Synchronisation: muss ich &quot;Locken&quot;, wenn zwei Threads ausschließlich lesend auf eine Variable zugreifen?</li>
<li>habe einen Intel DualCore: ist es sinvoll, mehr als 2 threads zu starten bzw gleichzeitig laufen zu lassen, wenn ich sowieso &quot;nur&quot; zwei Kerne habe?</li>
<li>ist es schneller, eine for-Schleife innerhalb eines Threads durchlaufen zu lassen, oder eine for-Schleife zu programmieren, in dem der Thread immer wieder neu gestartet wird( da wäre die Synchronisation mit anderen Threads für meinen Fall einfacher)?</li>
</ul>
]]></description><link>https://www.c-plusplus.net/forum/post/1673041</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1673041</guid><dc:creator><![CDATA[elsucht]]></dc:creator><pubDate>Mon, 02 Mar 2009 18:42:05 GMT</pubDate></item><item><title><![CDATA[Reply to Frage zu boost::threads on Mon, 02 Mar 2009 18:51:24 GMT]]></title><description><![CDATA[<p>elsucht schrieb:</p>
<blockquote>
<p>[*]Thema Synchronisation: muss ich &quot;Locken&quot;, wenn zwei Threads ausschließlich lesend auf eine Variable zugreifen?</p>
</blockquote>
<p>Nein, zum Glück nicht.</p>
<p>elsucht schrieb:</p>
<blockquote>
<p>[*] habe einen Intel DualCore: ist es sinvoll, mehr als 2 threads zu starten bzw gleichzeitig laufen zu lassen, wenn ich sowieso &quot;nur&quot; zwei Kerne habe?</p>
</blockquote>
<p>Ja, kann durchaus sinnvoll sein! Solange die Thread-Anzahl halt im Rahmen bleibt; eine vier- oder fünfstellige Anzahl an Threads könnte ein OS schon wegen dem Overhead in's Schwitzen bringen (kommt natürlich auf Anwendung, OS und System an).</p>
<p>elsucht schrieb:</p>
<blockquote>
<p>[*]ist es schneller, eine for-Schleife innerhalb eines Threads durchlaufen zu lassen, oder eine for-Schleife zu programmieren, in dem der Thread immer wieder neu gestartet wird( da wäre die Synchronisation mit anderen Threads für meinen Fall einfacher)?</p>
</blockquote>
<p>Threads zu starten bringt natürlich Overhead.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1673051</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1673051</guid><dc:creator><![CDATA[Badestrand]]></dc:creator><pubDate>Mon, 02 Mar 2009 18:51:24 GMT</pubDate></item><item><title><![CDATA[Reply to Frage zu boost::threads on Mon, 02 Mar 2009 19:47:01 GMT]]></title><description><![CDATA[<p>Badestrand schrieb:</p>
<blockquote>
<p>elsucht schrieb:</p>
<blockquote>
<p>[*]Thema Synchronisation: muss ich &quot;Locken&quot;, wenn zwei Threads ausschließlich lesend auf eine Variable zugreifen?</p>
</blockquote>
<p>Nein, zum Glück nicht.</p>
</blockquote>
<p>Es sei denn es gibt einen 3. Thread der die Daten auch mal ändert. In dem Fall müssen auch die beiden lesenden Threads ihre Zugriffe mit dem &quot;Schreiber&quot; synchronisieren.</p>
<blockquote>
<p>elsucht schrieb:</p>
<blockquote>
<p>[*]ist es schneller, eine for-Schleife innerhalb eines Threads durchlaufen zu lassen, oder eine for-Schleife zu programmieren, in dem der Thread immer wieder neu gestartet wird( da wäre die Synchronisation mit anderen Threads für meinen Fall einfacher)?</p>
</blockquote>
<p>Threads zu starten bringt natürlich Overhead.</p>
</blockquote>
<p>Jo. Es ist auf jeden Fall wesentlich (dramatisch, gigantisch! *wild-fuchtel-und-gestikulier*) viel schneller mal eben eine Critical-Section/Mutex zu locken, als gleich nen Thread zu starten.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1673097</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1673097</guid><dc:creator><![CDATA[hustbaer]]></dc:creator><pubDate>Mon, 02 Mar 2009 19:47:01 GMT</pubDate></item></channel></rss>