Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/reporting-services/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 在服务器上托管WCF服务后创建和终止空线程_C#_Multithreading_Wcf - Fatal编程技术网

C# 在服务器上托管WCF服务后创建和终止空线程

C# 在服务器上托管WCF服务后创建和终止空线程,c#,multithreading,wcf,C#,Multithreading,Wcf,我已经创建了一个WCF服务并在本地主机中运行它。我打开MicroSoft“Process Monitor”观看后台进程。令人惊讶的是,我看到很多线程都是在零用户时间和内核时间下创建和杀死的 我不知道为什么它会创建空线程。有人能告诉我为什么会创建和销毁这么多空线程吗 在进程监视器中创建的空线程片段: 创建了一个线程包来处理请求。这称为线程池。当请求较高时,会创建更多的线程并将其添加到线程池中,以高效地处理请求。这些线程在创建后将被重用 线程池减少了为每个请求重新初始化线程的时间 可能是Thread

我已经创建了一个WCF服务并在本地主机中运行它。我打开MicroSoft“Process Monitor”观看后台进程。令人惊讶的是,我看到很多线程都是在零用户时间和内核时间下创建和杀死的

我不知道为什么它会创建空线程。有人能告诉我为什么会创建和销毁这么多空线程吗

在进程监视器中创建的空线程片段:


创建了一个线程包来处理请求。这称为线程池。当请求较高时,会创建更多的线程并将其添加到线程池中,以高效地处理请求。这些线程在创建后将被重用


线程池减少了为每个请求重新初始化线程的时间

可能是
ThreadPool
你不会碰巧每8秒调用一次吗?嗨,维努,谢谢你的更新。但我有一个问题。这些空线程是在没有向服务发送请求时创建的。这意味着,没有应用程序/用户不使用服务,但是线程被创建和销毁。这个线程的创建会影响服务的性能吗?如果是这样,我们如何减少它?@Mathew“这些空线程是在没有向服务发送请求的情况下创建的。这意味着,没有应用程序/用户没有使用服务,但线程被创建和销毁。”-您应该将其添加到您的问题hi Mathew中,根据您显示的屏幕截图,并非所有线程都是为处理请求而创建的,通常是,但不是太多。我认为代码中可能有可疑之处。