我有一个充当中间人的应用程序。它通过套接字将来自多台机器和fowards的数据传输到客户端机器。每次收到数据时都会创建新线程并将数据发送到客户端。池中的一个点可用线程变为零,应用程序停止工作。我甚至尝试使用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)
{
}
}