Khi tôi tạo nhiều luồng từ một tiến trình, thì mỗi luồng có ngăn xếp riêng hay là chúng chia sẻ chồng của quá trình cha mẹ của chúng. Điều gì sẽ xảy ra khi một chuỗi tạo cuộc gọi hệ thống? Làm chủ đề cũng duy trì ngăn xếp hạt nhân của riêng họ như các quá trình?Mỗi luồng có ngăn xếp riêng không?
Trả lời
Có chủ đề có ngăn xếp của riêng chúng và ngăn xếp hạt nhân của riêng chúng (ví dụ: linux).
Khi chuỗi tạo cuộc gọi hệ thống, bạn bẫy vào chế độ hạt nhân (từ chế độ người dùng), bạn chuyển đối số cho hạt nhân, đối số được chọn, hạt nhân thực hiện lệnh (trong hạt nhân ngăn xếp), trả về giá trị cuối cùng về chủ đề và bạn quay lại chế độ người dùng.
Hạt nhân thực hiện "w/e cần làm" mà không cần ngăn xếp? – avakar
Tôi sẽ làm rõ trong câu trả lời của mình – Joohwan
Ngăn xếp hạt nhân chỉ là một đề phòng bảo mật được thêm vào một mô hình từ trước. Nhiều ngăn xếp là điều kiện tiên quyết để đa luồng. Hạt nhân về bản chất cung cấp một phiên bản song song của bất cứ điều gì đang xảy ra trong không gian người dùng để ngăn chặn dữ liệu nhạy cảm bị rò rỉ. – Potatoswatter
- 1. Vùng chứa heap Java có bao gồm ngăn xếp luồng
- 2. Sự khác biệt giữa ngăn xếp của một luồng và ngăn xếp của quá trình
- 3. Cách nhận thông tin ngăn xếp luồng trên Windows?
- 4. kích thước ngăn xếp luồng trên Windows (Visual C++)
- 5. Mỗi lớp có không gian tên riêng không?
- 6. Làm thế nào tôi có thể đo chiều sâu ngăn xếp luồng?
- 7. Ngăn xếp ngăn xếp lạ?
- 8. Ngăn xếp ngăn xếp là gì?
- 9. Biến chỉ có ngăn xếp có thể có trong C++ không?
- 10. gỡ lỗi trực tiếp ngăn xếp ngăn xếp
- 11. Có gì trong chuỗi bên cạnh ngăn xếp
- 12. Ngăn xếp tín hiệu
- 13. cách quản lý ngăn xếp log4net giống NDC với các phương thức không đồng bộ/đang chờ? (mỗi ngăn xếp Nhiệm vụ?)
- 14. Có thể sử dụng Ứng dụng đa luồng C# seprate WorkingDirectories cho mỗi luồng không?
- 15. Không hiển thị đường dẫn tệp của máy xây dựng trong ngăn xếp ngăn xếp
- 16. Mã hóa một chuỗi có ngăn xếp
- 17. Tôi có thể bỏ các biến ngăn xếp luồng hiện tại khỏi một JVM trực tiếp không?
- 18. OCaml trong ngăn xếp doanh nghiệp
- 19. Có một lớp ngăn xếp hai mặt trong .net không?
- 20. Ngoại lệ không có dấu vết ngăn xếp trong Java
- 21. URL ngăn xếp ngăn xếp hoạt động như thế nào?
- 22. C++ Ngăn xếp ngăn xếp Visual Studio với mảng 2D
- 23. Luồng có vị trí viết và đọc riêng biệt
- 24. GZip mỗi tệp riêng biệt
- 25. Sử dụng ngăn xếp không đổi
- 26. Không theo dõi ngăn xếp từ NSAssert
- 27. Làm thế nào để tràn ngăn xếp mà không cần đẩy khung ngăn xếp mới?
- 28. các chủ đề lôgic hiện tại tăng/ngăn xếp luồng bị rò rỉ
- 29. Tôi không hiểu lỗi tràn ngăn xếp với DispatchMessageW lặp lại trong ngăn xếp cuộc gọi
- 30. Các biến chia sẻ và ngăn xếp sai
có ngăn xếp chủ đề cụ thể !, giá trị toàn cục có thể chia sẻ giữa các chủ đề (địa phương không) –
@GrijeshChauhan Điều gì sẽ xảy ra khi chúng tôi thực hiện cuộc gọi hệ thống từ một chuỗi? Ví dụ: –
nếu bạn gọi lệnh 'open()' để mở tệp. bằng cách sử dụng 'int f = open()' thì dĩ nhiên 'f' là cục bộ cho luồng. nhưng hãy nhớ các mô tả tập tin được chia sẻ giữa các chủ đề. Nếu bạn biết giá trị của 'f' thì bạn có thể sử dụng giá trị đó trong chuỗi khác nhau để truy cập cùng một tệp (bạn không cần phải mở lại) –