Bezüglich Threads habe ich folgende Frage, die mir als unklar erscheint: Stimmt es, dass sich ein Thread Teile des Heaps exklusiv reservieren lassen kann und andere Threads nicht auf diesen Bereich zugreifen können?
nicht, daß ich wüsste. Vermutlich meinst du TLS = thread local storage? Das ist aber auch wieder etwas anderes... Ansonsten: Sprache? System? Wozu?
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.
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.
> 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.
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
Tja, und du hast dich schon umfassend informiert, oder bekommen wir hier die Note? Was weißt du schon, was fehlt dir noch?
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.
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.
Super danke! Waere es möglich ein simples ja oder nein auf die oben genannte frage zu bekommen.
Wenn du einen ganzen Absatz mit schwammigen Aussagen hinschmeisst und ein klares ja oder nein haben willst, dann: nein. Und frage bitte nicht nach einer Begründung, die wäre zu ausführlich für dich.
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.