最近在帮忙改一个C#多线程服务程序,每个线程都需要连接数据库并写数据库.内存不断增大.时间过了0点后就报"
引发类型为“System.OutOfMemoryException”的异常。",请问各位大侠,有什么好的解决方法没?

解决方案 »

  1.   

    “线程池”是可以用来在后台执行多个任务的线程集合。(有关背景信息,请参见使用线程处理(C# 编程指南)。) 这使主线程可以自由地异步执行其他任务。线程池通常用于服务器应用程序。每个传入请求都将分配给线程池中的一个线程,因此可以异步处理请求,而不会占用主线程,也不会延迟后续请求的处理。一旦池中的某个线程完成任务,它将返回到等待线程队列中,等待被再次使用。这种重用使应用程序可以避免为每个任务创建新线程的开销。线程池通常具有最大线程数限制。如果所有线程都繁忙,则额外的任务将放入队列中,直到有线程可用时才能够得到处理。您可以实现自己的线程池,但是通过 ThreadPool 类使用 .NET Framework 提供的线程池更容易一些。——来自MSDN啊
      

  2.   

    用完的连接即时释放,写的数据比较大时,利用buffer
    是否设计上有问题?