Hackerboard Wiki HaboBlog
Hackerboard bei Facebook Hackerboard bei Google+ Hackerboard bei Twitter

[HaBo]

 
Code Kitchen Allgemeines Coder-Forum rund um das Programmieren eigenständiger, ausführbarer Programme.

[Frage] Multithreading zur Lösung von Deadlocks?

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 ...

Antwort
Alt 17.09.08, 21:07   #1 (permalink)
Senior Member
 
Registriert seit: 26.03.06
Serow Leistung: 8086
Likes: 16
Standard [Frage] Multithreading zur Lösung von Deadlocks?

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 ;)

Serow ist offline   Mit Zitat antworten
Alt 17.09.08, 21:44   #2 (permalink)
 
Benutzerbild von Extinction
 
Registriert seit: 02.01.07
Extinction Leistung: Facit NTK
Likes: 0
Standard

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.
Extinction ist offline   Mit Zitat antworten
   
HaBOT
 
- Anzeige -

Werbung ist gerade online    
Alt 17.09.08, 21:56   #3 (permalink)
Senior Member
Themenstarter
 
Registriert seit: 26.03.06
Serow Leistung: 8086
Likes: 16
Standard

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.
Serow ist offline   Mit Zitat antworten
Alt 17.09.08, 22:08   #4 (permalink)
Senior Member
 
Registriert seit: 03.09.05
Lesco Leistung: Facit NTK
Likes: 0
Standard

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
Lesco ist offline   Mit Zitat antworten
Alt 18.09.08, 13:02   #5 (permalink)
 
Registriert seit: 16.07.05
benwilliam Leistung: Facit NTK
benwilliam eine Nachricht über ICQ schicken
Likes: 0
Standard

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)
benwilliam ist offline   Mit Zitat antworten
Alt 20.09.08, 22:08   #6 (permalink)
 
Registriert seit: 28.05.08
the_uxreal Leistung: Facit NTK
Likes: 0
Standard

Hallo Serow,

schau mal hier: http://msdn.microsoft.com/de-de/library/ms178104.aspx .

the_uxreal
the_uxreal ist offline   Mit Zitat antworten
Antwort
   
- Anzeige -

Werbung ist gerade online    

[HaBo] » Software Home » Code Kitchen » [Frage] Multithreading zur Lösung von Deadlocks?
Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks sind aus
Pingbacks sind aus
Refbacks sind aus


Ä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


1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61