C# threadPool catagory

.NET CLR线程的种类至少3个线程:主线程、调试线程、终结器线程

  • 1.main thread
  • 2.worker thread
  • 3.finalizer thread
  • 4.debugger helper thread
  • 5.concurrent gc thread
  • 6.server gc threads
  • 7.app domain unload helper thread
  • 8.threadpoll threads线程池中的线程种类(这个指的是net托管线程池,每个线程池中都有这些)

wait threads异步等待的线程worker threads执行用户处理工作Completion port threads (io完成端口线程) WCF里面就用到了这个线程种类Gate thread (负责监控工作线程和IO挖出呢很难过端口线程1个)

Timer thread(监控计时器队列1个)

通过ThreadPool类可以容易使用线程池ThreadPool.QueueUserWorkItem(WaitCallback,object)方法是将waitCallback委托的方法排入队列以便执行,并制定包含该方法所用的数据对象object参数线程池里面的线程的数量是可以限制,可以通过setmaxThreads设置线程池的最大值,默认是1000个,缺点:线程池需要管理,这个就是缺点,我感觉这个管理怎么说呢?难度很大吗?好像涉及到GC部分的知识点了

注意: 是主要干活的4.5是必须的线程可以放在线程池里面,也可以不放在线程池里面

前台线程、后台线程一个进程中哦必须有一个前台线程,否则进程退出后台线程不需要保存托管的执行环境后台线程啥都不管new thread创建的都属于前台线程前台线程如果死掉了,后台线程也肯定挂掉了前台线程负责保存托管执行环境的状态前台是老板,后台是工人典型的例子:浏览器是多进程多线程编程的多线程编程利用了多核CPU,实现了高并发


作者:spike

分类: Net

创作时间:2023-06-25

更新时间:2024-12-08

联系方式放在中括号之中例如[[email protected]],回复评论在开头加上标号例如:#1