用WCF实现的Host程序,运行一段后发现进程的线程数会高达1000多,而且降不下来。
服务标记了特性:[ServiceBehavior(InstanceContextMode = InstanceContextMode.PerCall, ConcurrencyMode = ConcurrencyMode.Multiple, UseSynchronizationContext = false)] 对于每个请求都独立线程处理
访问的客户端不超过50个,并发不高,每秒峰值最高不超过100次请求。
程序对于请求会使用Task异步记录日志。
用NetMemoryProfile发现内存中有好多Thread对象没被回收。
有什么工具或者方法可以知道这些线程堵在哪里,为什么没释放。
windbg,然后查threadpool