C#关闭全部线程

TcpListener listener;
Thread t;
listener = new TcpListener(new IPEndPoint(IPAddress.Parse(strServerIP1), Int32.Parse(portStr)));
listener.Start();
for (int i = 0; i < intClientIpQty; i++)
{
t = new Thread(new ThreadStart(Listen));
t.Start();
}

怎样关闭所有的线程

启动时,将线程放入一个列表集合中

List<Thread>  threadList = new List<Thread>();
for (int i = 0; i < intClientIpQty; i++)
{
       t = new Thread(new ThreadStart(Listen));  
       t.IsBackground = true; 
       threadList.Add(t);
       t.Start();
}

关闭集合

foreach(Thread t in ThreadList)
{
    t.Join();
}

温馨提示:内容为网友见解,仅供参考
第1个回答  2014-04-16
你用的同步阻塞方式吧 是不是最后你关闭了界面 还是有一个进程在任务管理器里面? 你在界面的form_closing事件里面自己写一个tcp的客户端连接自己的监听端口 就可以了 假设你有N个客户端连接 在服务端其实是开了N+1个线程在运行 最后的那个1是处在accpetclient的位置追问

能否加下您联系方式

追答

留个邮箱 我告诉你方式

第2个回答  推荐于2016-09-17
关闭全部线层:
this.Dispose(true);
this.Close();
Application.Exit();(退出)

关闭当前线层
System.Threading.Thread.CurrentThread.Abort();
Process.GetCurrentProcess().Kill()
Application.ExitThread();
Application.ExitThread()
相似回答