2010-07-14 18 views
6

CLR được nạp và khởi tạo mọi lúc, khi một ứng dụng được quản lý mới được tải và có một ứng dụng được quản lý đã có?CLR được nạp và khởi tạo mọi lúc, khi một ứng dụng được quản lý mới được tải chưa?

ví dụ: Nếu trên máy của tôi, ứng dụng "TestApp" đang chạy và sau đó tôi bắt đầu một ứng dụng khác "DemoApp". Trong trường hợp này, wiill CLR được nạp lại cho DemoApp? Hoặc nó sẽ sử dụng cùng một được nạp bởi TestApp?

Trả lời

8

Có, và hội đồng được biên dịch JIT, heaps được phân bổ và vv. Trình tải ảnh của Windows sẽ giúp ích một chút nhưng nói chung chi phí CLR là cho mỗi quá trình.

+0

Thanks.I muốn biết thêm về this.Can bạn đề nghị một số tài nguyên? – TAdhav

+0

Đối với sách, vui lòng xem http://stackoverflow.com/questions/477748/what-are-the-best-c-net-books/477751#477751 - Sách của Richter có nhiều chi tiết cấp thấp về CLR. Để biết thông tin về bộ kiểm tra trình tải ảnh Windows http://technet.microsoft.com/en-us/sysinternals/bb963901.aspx –

+0

@BrianRasmussen liên kết SO bị hỏng – deostroll

4

CLR không được tải đầy đủ mọi lúc. Bài viết được liên kết dưới đây đề cập đến một kịch bản "khởi động nóng", khi CLR sẵn sàng. Bạn có thể đã tự nhận thấy điều này khi bạn khởi động ứng dụng .NET lần đầu tiên sau khi khởi động hệ thống.

Trong trường hợp khởi động ấm (ví dụ, bạn đã chạy một ứng dụng được quản lý một lần), có khả năng hầu hết các trang cho các thành phần thời gian chạy ngôn ngữ chung (CLR) chính đã được tải trong bộ nhớ hệ điều hành có thể tái sử dụng chúng, tiết kiệm thời gian truy cập đĩa đắt tiền. Đây là lý do tại sao một ứng dụng được quản lý khởi động nhanh hơn lần thứ hai khi bạn chạy nó. Những lỗi mềm này thống trị khởi động ấm.

từ http://msdn.microsoft.com/en-us/magazine/cc163655.aspx

+0

Liên kết đã chết. – BartoszKP

Các vấn đề liên quan