WCM Forum

WCM Forum (http://www.wcm.at/forum/index.php)
-   Programmierung (http://www.wcm.at/forum/forumdisplay.php?f=17)
-   -   Prozess synchronisierung (http://www.wcm.at/forum/showthread.php?t=232380)

greenfish 17.12.2008 09:30

Prozess synchronisierung
 
Ich habe folgende Aufgabe bekommen und kann es nicht lösen.

2 resourcen r1,r2
bufferpools: drinnen bestimmte anzahl an elementen die verfügbar sind
obj die drinnen sind: n1,n2

p1,....pm : prozesse
diese holen sich von den beiden resourcen spezifizierte anzahl von objekten raus: zb get1(x1),get2(x2) -- compute -- put(x1,x2)
0 <= x, <= ni

es kann passieren dass es zu wenige objekte gibt, muss warten bis es wieder genug davon gibt.
Problem: x1 erfolgreich, aber x2 wird aufgehängt, oder umgekehrt
der porzess braucht von 2 typen von objekten eine gewisse anzahl und sie werden nach der reihe angefordert und irgend
wann mal wieder zurückgegeben

Angeblich kann man das mit semaphores lösen aber ich weiß nicht was der Grund dafür ist, dass sich 2 Prpozesse aufhängen. x1 und x2 sollen hintereinander erfolgen weil das zusammenhängende daten sind, ohne, dass sich einer davon aufhängt

thx

jak 23.12.2008 12:49

Um welche Sprache geht's überhaupt?
Was heißt "aufhängen" - stürzt das Programm ab oder bleibt es hängen (deadlock o.ä.).
Was versucht du zu machen? Kannst du Beispielcode posten?
jak

xandl33 07.01.2009 05:30

Wo oben schon erwähnt, vlt. ein Deadlock.

Ich hab mit Mutexen gute Erfahrungen gemacht ( da kannst dich im eigenen Thread zumindest nicht selber "ausperren" ;-) --> bei Semaphoren schon).


Alle Zeitangaben in WEZ +2. Es ist jetzt 00:28 Uhr.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
© 2009 FSL Verlag