<?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[Threadsafe Zugriff auf Objekte einer Liste]]></title><description><![CDATA[<p>Hallo,</p>
<p>ich möchte thread-safe auf Objekte, die in einer Liste als Pointer gespeichert sind, zugreifen. Während ein Thread (T1) ein Objekt (A) gerade bearbeitet, soll ein weiterer Thread (T2) nicht geblockt werden, wenn er auf Objekt A zugreifen will. Allerdings soll die Action von Thread (T2) nach der Bearbeitung von Thread T1 ausgeführt werden.<br />
Wie kann man das unter Verwendung einer Mutex realisieren?</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/333965/threadsafe-zugriff-auf-objekte-einer-liste</link><generator>RSS for Node</generator><lastBuildDate>Sun, 26 Apr 2026 08:58:27 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/333965.rss" rel="self" type="application/rss+xml"/><pubDate>Thu, 13 Aug 2015 19:31:11 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Threadsafe Zugriff auf Objekte einer Liste on Thu, 13 Aug 2015 19:31:11 GMT]]></title><description><![CDATA[<p>Hallo,</p>
<p>ich möchte thread-safe auf Objekte, die in einer Liste als Pointer gespeichert sind, zugreifen. Während ein Thread (T1) ein Objekt (A) gerade bearbeitet, soll ein weiterer Thread (T2) nicht geblockt werden, wenn er auf Objekt A zugreifen will. Allerdings soll die Action von Thread (T2) nach der Bearbeitung von Thread T1 ausgeführt werden.<br />
Wie kann man das unter Verwendung einer Mutex realisieren?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2463764</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2463764</guid><dc:creator><![CDATA[Mutex7657]]></dc:creator><pubDate>Thu, 13 Aug 2015 19:31:11 GMT</pubDate></item><item><title><![CDATA[Reply to Threadsafe Zugriff auf Objekte einer Liste on Thu, 13 Aug 2015 19:41:23 GMT]]></title><description><![CDATA[<p>Mutex7657 schrieb:</p>
<blockquote>
<p>Während ein Thread (T1) ein Objekt (A) gerade bearbeitet, soll ein weiterer Thread (T2) nicht geblockt werden, wenn er auf Objekt A zugreifen will. Allerdings soll die Action von Thread (T2) nach der Bearbeitung von Thread T1 ausgeführt werden.</p>
</blockquote>
<p>Das ist doch schon ein Widerspruch in sich. Soll nun synchronisiert werden oder nicht? Formulier erst einmal klar deine Anforderungen, sonst kann man dir nicht helfen.</p>
<blockquote>
<p>Wie kann man das unter Verwendung einer Mutex realisieren?</p>
</blockquote>
<p>Und wieso muss es ausgerechnet ein Mutex sein? Weil du irgendwo gelesen hast, dass Mutexe etwas mit der Synchronisation von Objektzugriffen zu tun haben? Weil die Hausaufgabenstellung es verlangt?</p>
<p>Frag nach dem, was du letztendlich erreichen möchtest! Nicht nach irgendwelchen Zwischenschritten, von denen du annimmst, dass sie dir beim eigentlichen Problem helfen könnten.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2463766</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2463766</guid><dc:creator><![CDATA[SeppJ]]></dc:creator><pubDate>Thu, 13 Aug 2015 19:41:23 GMT</pubDate></item><item><title><![CDATA[Reply to Threadsafe Zugriff auf Objekte einer Liste on Thu, 13 Aug 2015 19:51:08 GMT]]></title><description><![CDATA[<p>Danke für die schnelle Beantwortung.</p>
<p>Wo ist denn hier ein Widerspruch?<br />
Thread 1: Führt eine lange Berechnung mit Objekt A durch<br />
Thread 2: Will zur gleichen Zeit auf Objekt A zugreifen, ist aber gelockt, also verschiebe die Arbeit bis Thread 1 fertig (ohne zu blocken)</p>
<p>Trage ich die Aufgabe von Thread 2 in eine Queue für Objekt A ein, um es später bearbeiten zu können?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2463767</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2463767</guid><dc:creator><![CDATA[Mutex7657]]></dc:creator><pubDate>Thu, 13 Aug 2015 19:51:08 GMT</pubDate></item><item><title><![CDATA[Reply to Threadsafe Zugriff auf Objekte einer Liste on Thu, 13 Aug 2015 20:12:47 GMT]]></title><description><![CDATA[<p>Mutex7657 schrieb:</p>
<blockquote>
<p>Trage ich die Aufgabe von Thread 2 in eine Queue für Objekt A ein, um es später bearbeiten zu können?</p>
</blockquote>
<p>Wenn dazu jetzt jemand Ja oder Nein sagt, bist du dann einen Schritt weiter?</p>
<p>Wenn du Aufgaben (Tasks) hast, warum existieren diese Threads?<br />
Hast du dir mal TBB angesehen?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2463771</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2463771</guid><dc:creator><![CDATA[manni66]]></dc:creator><pubDate>Thu, 13 Aug 2015 20:12:47 GMT</pubDate></item><item><title><![CDATA[Reply to Threadsafe Zugriff auf Objekte einer Liste on Thu, 13 Aug 2015 20:15:47 GMT]]></title><description><![CDATA[<p>Mutex7657 schrieb:</p>
<blockquote>
<p>Thread 2: Will zur gleichen Zeit auf Objekt A zugreifen, ist aber gelockt, also verschiebe die Arbeit bis Thread 1 fertig (ohne zu blocken)</p>
</blockquote>
<p>Du kannst auch ohne zu blockieren einfach nur gucken ob du den mutex kriegst. Wenn nicht kann der Thread erstmal irgendwas anderes machen und später nochmal probieren. Aber ich vermute das ist auch nicht gerade was du willst.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2463772</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2463772</guid><dc:creator><![CDATA[sebi707]]></dc:creator><pubDate>Thu, 13 Aug 2015 20:15:47 GMT</pubDate></item><item><title><![CDATA[Reply to Threadsafe Zugriff auf Objekte einer Liste on Thu, 13 Aug 2015 20:30:34 GMT]]></title><description><![CDATA[<p>Die Threads sind dafür, um mehrere Objekte gleichzeitig zu bearbeiten.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2463773</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2463773</guid><dc:creator><![CDATA[Mutex7657]]></dc:creator><pubDate>Thu, 13 Aug 2015 20:30:34 GMT</pubDate></item><item><title><![CDATA[Reply to Threadsafe Zugriff auf Objekte einer Liste on Thu, 13 Aug 2015 20:44:53 GMT]]></title><description><![CDATA[<p>Mutex7657 schrieb:</p>
<blockquote>
<p>Die Threads sind dafür, um mehrere Objekte gleichzeitig zu bearbeiten.</p>
</blockquote>
<p>Das ist jetzt ein bisschen dünn...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2463774</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2463774</guid><dc:creator><![CDATA[manni66]]></dc:creator><pubDate>Thu, 13 Aug 2015 20:44:53 GMT</pubDate></item><item><title><![CDATA[Reply to Threadsafe Zugriff auf Objekte einer Liste on Thu, 13 Aug 2015 20:56:42 GMT]]></title><description><![CDATA[<p>Mutex7657 schrieb:</p>
<blockquote>
<p>Die Threads sind dafür, um mehrere Objekte gleichzeitig zu bearbeiten.</p>
</blockquote>
<p>Threads sind dafür da, um mehrere Prozesse gleichzeitig (parallel oder quasi-parallel) zu bearbeiten. Beim gleichzeitigem Zugriff auf Variablen, Objekte und Ressourcen muss man darauf achten, ob dies &quot;threadsicher&quot; erfolgt. Wenn nein, sichert man das so ab, dass immer nur ein Thread Zugang hat, und erst, wenn er verschwindet, der nächste kommt. Analog Flugzeugtoilette. Ansonsten synchronisiert man parallele Aktionen mit den Standardmitteln, die C++ 11 bietet.<br />
<a href="https://en.wikipedia.org/wiki/C%2B%2B11#Threading_facilities" rel="nofollow">https://en.wikipedia.org/wiki/C%2B%2B11#Threading_facilities</a></p>
]]></description><link>https://www.c-plusplus.net/forum/post/2463775</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2463775</guid><dc:creator><![CDATA[Erhard Henkes]]></dc:creator><pubDate>Thu, 13 Aug 2015 20:56:42 GMT</pubDate></item></channel></rss>