C#关闭全部线程

TcpListenerlistener;Threadt;listener=newTcpListener(newIPEndPoint(IPAddress.Parse(str... 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();
}

怎样关闭所有的线程
展开
 我来答
freeeeeewind
推荐于2018-02-27 · TA获得超过1万个赞
知道大有可为答主
回答量:3227
采纳率:94%
帮助的人:1354万
展开全部

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

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();
}
匿名用户
2014-04-16
展开全部
你用的同步阻塞方式吧 是不是最后你关闭了界面 还是有一个进程在任务管理器里面? 你在界面的form_closing事件里面自己写一个tcp的客户端连接自己的监听端口 就可以了 假设你有N个客户端连接 在服务端其实是开了N+1个线程在运行 最后的那个1是处在accpetclient的位置
追问
能否加下您联系方式
追答
留个邮箱 我告诉你方式
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友630577f
推荐于2016-09-17 · TA获得超过4165个赞
知道小有建树答主
回答量:733
采纳率:93%
帮助的人:74.1万
展开全部
关闭全部线层:
this.Dispose(true);
this.Close();
Application.Exit();(退出)

关闭当前线层
System.Threading.Thread.CurrentThread.Abort();
Process.GetCurrentProcess().Kill()
Application.ExitThread();
Application.ExitThread()
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式