C# 线程池中的线程数不足

C# 线程池中的线程数不足,c#,threadpool,C#,Threadpool,我有一个作为中间人的应用程序。它从多台机器获取数据,并通过套接字转发到客户端机器。每次收到数据时,都会创建新线程并将数据发送到客户端。池中的可用线程一度变为零,应用程序停止工作。我甚至尝试使用ThreadPool.QueueUserWorkItem 这是创建新线程的函数 public void SendFeed(string data, string Key) { Datadelegate _ProcessData = new Datadelegate(ProcessData);

我有一个作为中间人的应用程序。它从多台机器获取数据,并通过套接字转发到客户端机器。每次收到数据时,都会创建新线程并将数据发送到客户端。池中的可用线程一度变为零,应用程序停止工作。我甚至尝试使用ThreadPool.QueueUserWorkItem

这是创建新线程的函数

public void SendFeed(string data, string Key)
{
    Datadelegate _ProcessData = new Datadelegate(ProcessData);
    Form1.countEQ = Form1.countEQ + 1;
    TCPListenerForm.DataClass sObj = new TCPListenerForm.DataClass();
    sObj.DataByte = data;
    sObj.Key = Key;
    try
    {
        _ProcessData.BeginInvoke(sObj, completedCallback, null);
    }
    catch (Exception ex)
    {
    }
}

看起来你有一个bug,你的线程没有终止。或者您正在创建太多太多的线程…我也尝试过使用threadpool,它管理线程终止。在我的应用程序中,发生了第二种情况,在这种情况下接收到大量数据时,应用程序挂起并最终停止工作。我需要一个可以处理大量数据的解决方案。你的线程真的完成了吗?我从未在高线程应用程序中遇到过这种情况。。。