| Code Kitchen Allgemeines Coder-Forum rund um das Programmieren eigenständiger, ausführbarer Programme. |
Diskussion: [Frage] Multithreading zur Lösung von Deadlocks? im Forum Code Kitchen, in der Kategorie Software Home; Anzeige Hi, ich habe vor kurzem etwas über Multitasking und Multithreading gehört. Dabei kam folgende Situation zur Sprache: Prozess A ...
![]() |
| | #1 (permalink) |
| Senior Member Registriert seit: 26.03.06 ![]() Likes: 16 | Anzeige Hi, ich habe vor kurzem etwas über Multitasking und Multithreading gehört. Dabei kam folgende Situation zur Sprache: Prozess A hat greift auf Ressource A und will auf Ressource B zugreifen, lässt Resource A aber erst los, wenn er Ressource B hat. Prozess B hat greift auf Ressource B und will auf Ressource A zugreifen, lässt Resource B aber erst los, wenn er Ressource A hat. Hier entsteht ja ein "lock". Es hieß, dass Multithreading dieses Problem löst. Wie und warum ist mir aber unklar. Kann mir das jemand genauer erklären? cu serow EDIT: Artikel zu Multithreading bei Wikipedia schon gelesen ;) |
| | |
| | #2 (permalink) |
| Registriert seit: 02.01.07 ![]() Likes: 0 | Ich bin mir nicht sicher, was du jetzt genau wissen willst. XY-Problem? (Mal übersichtlicher dargestellt) Wenn Pa Ra sperrt, bis er Rb hat und Pb Rb sperrt, bis er Ra hat entsteht doch eine Zwickmühle. Btw. hat man hier doch Multitasking, welches das Problem erst aufwirft? Man könnte vieleicht, wenn ich dein Anliegen richtig verstanden habe, einen Prozess C anlegen, welcher überprüft, ob ein solcher Interessenskonflikt vorliegt und diesen ggf. löst. |
| | |
| HaBOT | - Anzeige - |
| |
| | #3 (permalink) |
| Senior Member Themenstarter Registriert seit: 26.03.06 ![]() Likes: 16 | Also die gleichzeitige Existenz von 2 Prozessen wäre ja Multitasking. Multithreading erlaubt das Aufteilen eines Prozesses in mehrere Threads. Nur wie die Möglichkeit Threads zu benutzen diese Zwickmühle löst sehe ich nicht. |
| | |
| | #4 (permalink) |
| Senior Member Registriert seit: 03.09.05 ![]() Likes: 0 | Bloßes Verwenden von Threads statt Prozessen(falls das gemeint ist) ändert an dem Problem nichts, da sich lediglich organisatorische Details der zugreifenden Vorgänge ändern. Ein paar Lösungsmöglichkeiten findet man stattdessen im Wikipedia-Artikel(Bei den meisten Büchern/Seiten zu Treiber/Kernelprogrammierung findet man auch oft Abschnitte zu dieser Art von Problemen): http://en.wikipedia.org/wiki/Deadlock |
| | |
| | #5 (permalink) |
| wie schon oben gesagt löst Multithreading das problem nicht aber wie auch im Wiki Artikel existieren reichlich Algorithmen um diese zuerkennen/vermeiden/aufzulösen z.B: mit Prioritäten arbeiten (Priority Inherence / Priority Ceiling) einen überblick kannst du dir z.B. aus diesem Vorlesungsskript holen (die Quellen sind aber noch deutlich besser) | |
| | |
![]() |
| - Anzeige - | |
| |
| Themen-Optionen | |
| Ansicht | |
| |
Ähnliche Themen | ||||
| Thema | Autor | Forum | Antworten | Letzter Beitrag |
| Multicore unterstützung automatisch durch Multithreading? | jemo. | Code Kitchen | 2 | 29.08.09 14:18 |
| [Frage] Multithreading zur Lösung von Deadlocks? | Serow | Off topic-Zone | 3 | 17.09.08 22:08 |
| IM Lösung fürs LAN | derhesse | Applikationen | 6 | 18.05.08 21:28 |
| boost asio multithreading server | Dawen | Code Kitchen | 0 | 05.07.07 00:06 |
| einfachste Lösung | ghost | (In)security allgemein | 2 | 21.08.05 15:57 |