Đó không phải là cách nó hoạt động. Bất kỳ chuỗi nào trong chương trình được quản lý đều có thể thực thi mã được quản lý, bao gồm cả chuỗi được bắt đầu dưới dạng chuỗi không được quản lý. Mà hầu hết là, chủ đề chính và bất kỳ thread threadpool bắt đầu cuộc sống thực hiện hoàn toàn không được quản lý mã. Nó thunks thành mã được quản lý mặc dù các loại gateway được cung cấp bởi Marshal.GetDelegateForFunctionPointer().
Xem hàng tá chuỗi (nếu không hoạt động) không phải là bất thường. Họ thường là chủ đề threadpool và chủ đề bắt đầu bởi các máy chủ COM. .NET thiếu hệ thống ống nước bạn cần sử dụng Thread.ManagedThreadId trên các chủ đề đó. Đó là cố ý, một chuỗi .NET hợp lý không phải là một chuỗi hệ điều hành vật lý. Mặc dù không có máy chủ lưu trữ trong sử dụng hiện tại, nơi đó không phải là trường hợp.
Bạn sẽ phải tránh phải đặt câu hỏi.
Nguồn
2010-06-18 13:01:00
cảm ơn vì đã cho tôi biết. tuy nhiên tôi muốn có câu trả lời. Làm cách nào để tìm ra số lượng chuỗi được quản lý được tạo trong ứng dụng của tôi bất kỳ lúc nào? –
Bạn tạo chúng, đếm chúng. –
thats điểm! Tôi sử dụng API của bên thứ ba và họ không muốn tiết lộ chi tiết, cũng có thể sử dụng hồ bơi luồng hoặc phần mềm khác, v.v. –