2012-02-22 2 views
6

Khi chạy "Hello, World!" Cơ bản nhất ứng dụng được biên dịch cho .NET2.0 bạn sẽ thấy 3 luồng (Main, GC và Finalizer). Tuy nhiên, với một .NET4.0 xây dựng con số đó lên đến 4 với cùng một ứng dụng cơ bản. Có ai biết những gì các chủ đề thêm là cho?Ứng dụng "Hello world" sử dụng 4 luồng trong .NET4.0, nhưng 3 trong .NET2.0

+0

Ứng dụng đang chạy là gì? IIS, Cassini, v.v ...? –

+0

Loại ứng dụng nào? Một giao diện điều khiển? – SandRock

+4

Nếu tôi tạo một ứng dụng giao diện điều khiển bằng xương trần, với một 'Console.ReadLine()' trong 'main', và gỡ lỗi nó, tôi thấy 7 luồng. Bạn cần tạo một hướng dẫn ngắn nhưng hoàn toàn để những người khác có thể nhìn thấy những gì bạn đang nhìn thấy (hoặc điều đó sẽ cho phép bạn tự tạo ra sự khác biệt) –

Trả lời

0

Nhóm chủ đề giữ (các) thread không hoạt động theo mặc định từ .NET4 (như MSDN points it). Tôi không thể tìm thấy số của họ được chỉ định (mặc dù bạn có thể thay đổi nó bằng SetMinThreads), nó có thể là không.

Bài viết dotNetPerls cho thấy rằng nó cũng phụ thuộc vào số lõi trên máy (điều này có ý nghĩa).

Bạn có thể thử nghiệm trên máy/chương trình cụ thể để in ThreadPool.GetMinThreads() bằng cả hai CLR.