Thread Speicherverwaltung

Gast #2479483
Lesenswert?
• ▲
▼
Unter UNIX - POSIX.
Um eine Ressourcen innerhalb eines Prozess nicht zu überschreiben.
Oder ist es so, dass der Thread den Heap nur zeitlich exklusiv 
reservieren kann und so die anderen Threads auf diesen für eine 
bestimmte Zeit nicht zugreifen können, bevor er wieder freigegeben 
werden kann.
Gast #2479488
Lesenswert?
• ▲
▼
Zigna schrieb:
> Um eine Ressourcen innerhalb eines Prozess nicht zu überschreiben.
nein darum muss man sich selber kümmern.

Jeder Thread hat seinen eigenen Stack. Aber es hindert dich niemand 
daran auf den Stack von einem anderen Thread zuzugreifen. auf den RAM 
haben alle Thread die gleichen Zugriff zu jeder Zeit.
Gast #2479505
Lesenswert?
• ▲
▼
> Jeder Thread hat seinen eigenen Stack. Aber es hindert dich niemand
> daran auf den Stack von einem anderen Thread zuzugreifen. auf den RAM
> haben alle Thread die gleichen Zugriff zu jeder Zeit.

Okey ich fasse zusammen:

Jeder Thread hat seinen eigenen Stack.  Ein Thread kann kann nur Teile 
des Heaps für den eigenen Stack reservieren, auf dem die anderen Threads 
zugreifen können. Dies geschieht durch eigentverantwortliche 
Synchronisation der Threads im Prozess.
Gast #2479544
Lesenswert?
• ▲
▼
Gut Klaus! Durchgenommen wurde Speicherverwaltung in Threads (Unix - 
Posix)

Bewerte folgende Aussage richtig/falsch und begründe:

- Jeder Thread kann sich Teile des Heaps exklusiv reservieren
- Andere Threads können dann nicht auf diesen Bereich zugreifen
Gast #2479724
Lesenswert?
• ▲
▼
Um Noten geht es hier nicht, da es eine Frage aus dem Internet ist ;) 
nur ums Verständnis.

Ein Thread kann einzelne Ressourcen sperren für einen Augenblick. 
Synchronisiert sich danach und gibt ihn wieder frei, d.h. exklusives 
reservieren des Heaps nur für die Zeit in dem der Thread diese Variable 
auch wirklich verwendet. Anschließende Freigabe des Speichers.
Beachtet werden müssen hierbei das sog. "Race condition".
D.h um auf die Frage zurückzukommen -  die anderen Threads können 
während der Zeit indem ein Thread eine bestimmte Ressource 
be-/verarbeitet und somit exklusiv reserviert, durch die Blockade nicht 
an den Speicher...
Das Threads des gleichen Prozesses auf den Stack eines Threads Zugriff 
haben, ist mir neu.

Das wäre mein Lösungsansatz.
#2480312
Lesenswert?
• ▲
▼
kommt drauf an, was du mit "Ressourcen sperren", "exklusiv" und 
"synchronisieren" meinst.

Und welche Variable?

Wo kommt hier eine race condition her?

Zigna schrieb:
> die anderen Threads können
> während der Zeit indem ein Thread eine bestimmte Ressource
> be-/verarbeitet und somit exklusiv reserviert, durch die Blockade nicht
> an den Speicher...

was heißt "kommen nicht ran"? wirklich abgeblockt, oder nur "sie gehen 
freiwillig nicht ran"?

Zigna schrieb:
> Das Threads des gleichen Prozesses auf den Stack eines Threads Zugriff
> haben, ist mir neu.

Wenn sie die Adresse haben, wieso nicht?

Zigna schrieb:
> ... oder bin ich auf dem Holzweg.

Ich würde auf ja tippen.

---

Irgendwie hört sich das so hölzern an, als ob du nie mit Threads 
programmiert hättest, und nur Stoff auswendig lernen willst.
Da sehe ich keinen Sinn drin, solange man nicht damit programmiert.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren