- Chủ đề chia sẻ tài nguyên bộ nhớ (ít nhất POSIX).
- malloc()/realloc()/free() quản lý bộ nhớ không thực sự nhận biết về các chủ đề (ít nhất là bây giờ).
- Vì vậy, bạn nên xem kết quả của malloc() là 'tài nguyên' đơn giản. Nó không liên kết chuỗi.
Vì vậy, bây giờ câu trả lời phải rõ ràng, mọi bộ nhớ được phân bổ không có liên kết đến chủ đề để nó không phải là miễn phí() 'd về thoát khỏi chuỗi. Tất nhiên bạn có thể cung cấp một số xử lý đặc biệt cơ học nhưng nó không được thực hiện tự động. Một mặt tốt của điều này là bạn có thể vượt qua sự phân bổ bộ nhớ giữa các luồng nói cách khác phân bổ tài nguyên đó trong một luồng và sau đó giải phóng tài nguyên đó khỏi một luồng khác (có tốt cho bạn hay không).
Hy vọng đây sẽ là giải thích hữu ích, hãy suy nghĩ về con trỏ bộ nhớ được cấp phát như về bất kỳ trình mô tả cấp tiến trình nào.
Nguồn
2009-11-06 20:00:06
Hoặc khi toàn bộ quá trình thoát - ít nhất trên hệ điều hành máy tính để bàn/máy chủ điển hình của bạn. – nos
Không khái quát. Khi các chương trình của bạn thoát, nó được giải phóng. Và kể từ đó _ever_ xảy ra .. – TimZaman