Zmienna static lub globalna a dwa procesy

0

Hey, mam taką zagwozdkę: jeśli mam zmienną statyczną lub zmienną globalną i odpalę ten sam program dwa razy to czy te dwa chyba niezależne procesy będą miały wspólny dostęp do tych zmiennych (static lub globalnej)?

Tzn. chyba źle zadałem pytanie: czy zostaną utworzone dwie zmienne statyczne/globalne czy jedna wspólna dla obu procesów?

2

Każde "odpalenie" ma swój obszar danych.

0

Procesy nie dzielą przestrzeni adresowej, chyba ze explicite używasz jakiegoś systemowego mechanizmu typu shared memory.

0

Ok, dziękuję za odpowiedź. Czyli każdy proces ma swoją zmienną static i zmienną globalną - tak właśnie myślałem, ale nie byłem pewny ;-).
Natomiast rozumiem, że to nie dotyczy wątków? tzn. jak utworzę dwa wątki w tym samym procesie (aplikacji) to oba będą miały dostęp do zmiennej static i do zmiennej globalnej?

0

tak, po to sa mutexy i semafory ;)

2

Wątki będą miały dostęp do tej samej zmiennej. Ale wiąże się z tym mnóstwo kłopotów. Do danych dzielonych przez wątki trzeba używać specjalnych funkcji, tzw. atomicznych, bo zwykły odczyt a zwłaszcza zapis mogą dać fascynujące acz nieoczekiwane rezultaty.

1 użytkowników online, w tym zalogowanych: 0, gości: 1