.NET 多线程与异步操作深度解析
1. 线程池与轻量级任务
在多线程编程中,线程池是一种重要的资源管理机制。有一个名为 LightweightTask 的类,它包含了从线程池实际执行线程的代码,以下是其代码示例:
Class LightweightTask
Public SomeData As String
' 包含有趣代码的方法(此示例中并非真的有趣)
Sub Execute(ByVal state As Object)
Console.WriteLine("Message du thread #{0}", state)
End Sub
End Class
当前正在执行的线程可以通过查询 Thread.CurrentThread.IsThreadPoolThread 属性来确定它是否来自线程池。若想知道线程池中线程的最大数量,可调用静态方法 ThreadPool.GetMaxThreads ;若想了解当前可用的线程数量,则调用静态方法 ThreadPool.GetAvailableThreads 。
在 .NET Framework 2.0 版本中,有一个新方法可以修改线程池中的最大线程数,示例如下:
' 线程池中最多 30 个工作线程和最多 10 个异步 I/O 线程
ThreadPool.SetMaxThreads(30, 10)
.NET多线程与异步编程详解
超级会员免费看
订阅专栏 解锁全文
104

被折叠的 条评论
为什么被折叠?



