下面是启用多线程,速度明显比单线程快了很多。请问这个多线程到底是多少个线程呢? 我需要速度在快些,如果添加更多的线程呢?请高手指教 谢谢private void button1_Click(object sender, EventArgs e)
        {
            Thread t = new Thread(new ThreadStart(duo));
            t.Start();
        }

解决方案 »

  1.   

    一个进程能有多少线程是由操作系统决定的XP应该是上千个,但线程并不是越多越好,线程多浪费资源(内存资源和CPU资源)
      

  2.   

    一般是1000吧,如果用threadpool实现httpwebrequest,1.x25个
      

  3.   

    郁闷了哈 各位!主要问题没告诉我哦。我很想知道 如何调用更多的线程。比如下面的函数(duo),我想让它在快些。就得加更多的线程。所以请高手高手高高手 指教一下谢谢
    private void button1_Click(object sender, EventArgs e)
            {
                Thread t = new Thread(new ThreadStart(duo));
                t.Start();
            }
      

  4.   

    线程会提高系统的性能,但并不是说线程越多越好,线程会占用CPU时间片,很多的线程将导致整体性能下降。如果你的系统真的需要很多线程可以考虑使用线程池,其实异步可能是一个更好的选择,但不如线程池好操控,不同的应用选择不同的方式吧。
      

  5.   

    难道楼主想在
    private void button1_Click(object sender, EventArgs e)
            {
                Thread t = new Thread(new ThreadStart(duo));
                t.Start();
            }
    中把t再分成两个线程一起执行???
    吓我的吧.......
      

  6.   

    楼主是这个意思吧
    想把方法,duo ,弄在多个Thread 里面去。 这样速度就很快了,
    楼主是这个意思吧哈哈~~建议楼主在仔细看一下多线程, 和操作系统原理的资料。因为我不知道该怎么回答你才好。
      

  7.   

    每一个Thread对象就是一个线程,每Start一下直到这个线程函数执行完之前,操作系统都会开一个线程……。
      

  8.   

    对 我的意思就是:想把方法,duo ,使用我自定义的线程序去执行,比如 我想执行 100个线程或者400个?
    这时时候就不知道怎么做了。现在我就只能把 duo 弄在一个Therad (.NET所谓的多线程里面执行,但是我觉得速度不够快)
      

  9.   

    果然被我猜中了,哈哈哈
    楼主如果想这样的话...只能把duo分割成几个小部份,然后分别用Thread开新的线程执行了咯
      

  10.   

    呵呵  这样也太慢了吧  并且我的duo 不能在分开啦继续关注中!!!!!!!!!关注高手高手高高手出来解决问题!!!!
      

  11.   

    private void button1_Click(object sender, EventArgs e)
            {
                Thread t = new Thread(new ThreadStart(duo));
                 t.Start();
                 t.Start();
                 t.Start();        }这样对吗
      

  12.   

    private void button1_Click(object sender, EventArgs e)
            {
                Thread t = new Thread(new ThreadStart(duo));
                 t.Start();
                 t.Start();
                 t.Start();        }严重错误  我感觉好像 用Thread 没办法加快速度了
    因为已经使用了多线程
      

  13.   

    private void button1_Click(object sender, EventArgs e)
            {
                for(int i=0;i<100;i++)
                {
                    Thread t = new Thread(new ThreadStart(duo));
                    t.Start();
                }
            }
    这样就执行了100个duo
      

  14.   

    在duo这个方法中确实可再开一些线程的