当前位置: 移动技术网 > IT编程>开发语言>c# > 证明task线程是来源于线程池的,线程重用

证明task线程是来源于线程池的,线程重用

2020年01月13日  | 移动技术网IT编程  | 我要评论
1、线程池是单例的,全局唯一的,设置线程池最大活跃线程数是5,设置后,允许同时并发的Task只有5个,我们开启100个task去做任务,从最后的输出结果看到,虽然开启了100个task,但是线程id始终是那5个如图所示 2、结论:证明task是来源于线程池的,而且线程是重用的 ...

1、线程池是单例的,全局唯一的,设置线程池最大活跃线程数是5,设置后,允许同时并发的task只有5个,我们开启100个task去做任务,从最后的输出结果看到,虽然开启了100个task,但是线程id始终是那5个如图所示

2、结论:证明task是来源于线程池的,而且线程是重用的

namespace task_threadpool
{
    class program
    {
        static void main(string[] args)
        {
            threadpool.setmaxthreads(5, 5);
            for (int i = 0; i < 100; i++)
            {
                int k = i;
                task.run(() =>
                {
                    console.writeline($"this is {k} running threadid={thread.currentthread.managedthreadid.tostring("00")}");
                    thread.sleep(2000);
                });
            }
            console.read();
        }
    }
}

 

如您对本文有疑问或者有任何想说的,请点击进行留言回复,万千网友为您解惑!

相关文章:

验证码:
移动技术网