none
怎样只使用ThreadPool中的5个线程???? RRS feed

  • 问题

  • 做了一个多线程下载的组件。因为一次的下载任务可能有很多(超过25个),但是主程序只允许组件使用线程池中的几个线程(比如5个),我应该怎么做?
    别紧张,我不是什么好人。。。
    2009年11月16日 11:47

答案

  • 你好!
         可以尝试通过ThreadPool的SetMaxThreads()方法来控制:
         具体可以参考:
    http://msdn.microsoft.com/zh-cn/library/system.threading.threadpool.setmaxthreads%28VS.95%29.aspx
    周雪峰
    2009年11月16日 15:20
    版主

全部回复

  • up
    也许重写线程池可以实现···
    别紧张,我不是什么好人。。。
    2009年11月16日 12:37
  • 下载任务再多  用异步tcp也不需要更多线程阿。
    一般机器就算是4核 同时也就只有4个线程能执行



    成为 Microsoft V Dash了。。。
    2009年11月16日 12:44
    版主
  • 有没有谁重写过ThreadPool类
    别紧张,我不是什么好人。。。
    2009年11月16日 13:24
  • 你好!
         可以尝试通过ThreadPool的SetMaxThreads()方法来控制:
         具体可以参考:
    http://msdn.microsoft.com/zh-cn/library/system.threading.threadpool.setmaxthreads%28VS.95%29.aspx
    周雪峰
    2009年11月16日 15:20
    版主