Czy wątki i procesy mają niezależne stosy? Jeśli odpowiedź brzmi "tak", jaka jest różnica między nimi? Z góry dziękuję!Jaka jest różnica między stosem wątku a stosem procesu?
Odpowiedz
Procesy nie mają stosu. Nici. Proces to zazwyczaj przestrzeń adresowa, niektóre zasoby i jeden lub więcej wątków. Wątki uruchamiają rzeczywisty kod procesu, więc każdy z nich ma własny stos.
W artykule wiki na stosach ma więcej informacji http://en.wikipedia.org/wiki/Call_stack
Z tego co wiem (i mnie poprawić jeśli się mylę), każdy proces otrzymuje własną przestrzeń pamięci, która zawiera 3 segmenty: segement tekstowej (tj. program), segment danych (o ile wiem, że dotyczy zmiennych globalnych i statycznych), segment stosu, który zawiera wiele rzeczy, takich jak zmienne lokalne, parametry funkcji, adres, do którego powinien powracać funkcjonalność.
Każdy proces może mieć jeden lub więcej wątków. Wątki procesu dzielą przestrzeń pamięci tego procesu, nie posiadają "własnych" wspomnień, co sprawia, że są łatwe do utworzenia i zakończenia.
Podsumujmy: proces ma własny stos, wątek nie ma własnego stosu.
Jeśli się mylę, nie krępuj się, aby mnie poprawić.
W rzeczywistości książka "System operacyjny" pana Tanenbauma obejmuje ten problem.
- 1. Jaka jest różnica między stosem jądra a stosem użytkownika?
- 2. Jaka jest główna różnica między wektorem a stosem?
- 3. jaka jest różnica między stosem oprogramowania a systemem operacyjnym? dlaczego Android nie jest stosem systemu operacyjnego, ale oprogramowaniem?
- 4. Jaki jest związek między stertą "a" i stosem?
- 5. Odwracanie słowa ze stosem
- 6. Różnica między AppDomain, montaż, procesu i wątku
- 7. Różnica między uruchomieniem wątku a włączeniem wątku?
- 8. Jaka jest różnica między przyszłym a shared_future?
- 9. .NET CIL manipulacja stosem ewaluacji
- 10. Jaka jest różnica między cat_id a term_id?
- 11. Jaka jest różnica między IEnumerable a tablicami?
- 12. Jaka jest różnica między == a === w Verilog?
- 13. Jaka jest różnica między UseCase a Workflow?
- 14. Jaka jest różnica między pakietem a intencją?
- 15. Jaka jest różnica między węzłem a wierzchołkiem?
- 16. Jaka jest różnica między Ember.computed.alias a Ember.binding?
- 17. Jaka jest różnica między alertem a window.alert?
- 18. Jaka jest różnica między @android a android:
- 19. Jaka jest różnica między krotką a kompresją?
- 20. Jaka jest różnica między proxy a reify?
- 21. Jaka jest różnica między @Inject a @PersistenceContext?
- 22. Jaka jest różnica między sqlite3 a pdo_sqlite
- 23. Jaka jest różnica między Const a Constant?
- 24. Jaka jest różnica między Socket.IO a Firebase?
- 25. Jaka jest różnica między macierzą a tablix?
- 26. Jaka jest różnica między KERN_INVALID_ADDRESS a KERN_PROTECTION_FAILURE?
- 27. Jaka jest różnica między Float.POSITIVE_INFINITY a Float.MAX_VALUE?
- 28. Jaka jest różnica między SGML a XML?
- 29. Jaka jest różnica między Cake a Leiningen?
- 30. Jaka jest różnica między JavaBean a POJO?