C#多线程的使用(Thread)-多线程的挂起,恢复操作

        private void button4_Click(object sender, EventArgs e)
        {
            if (button4.Text == "暂停")
            {
                toolStripStatusLabel1.Text = "暂停...";
                button4.Text = "继续";
                for (int i = 0; i < threads.Length; i++)
                {
                    Thread thr = threads[i];
                    if (thr.ThreadState == ThreadState.Running)
                    {
                        thr.Suspend();         //检测线程状态是否在运行中,是的话使用Suspend方法将其挂起
                    }
                }
            }
            else
            {
                toolStripStatusLabel1.Text = "开始...";
                button4.Text = "暂停";
                for (int i = 0; i < threads.Length; i++)
                {
                    Thread thr = threads[i];
                    if (thr.ThreadState == ThreadState.Suspended)
                    {
                        thr.Resume();         //同上,检测线程状态是否已经挂起,是的话使用Resume方法将其恢复
                    }
                }
            }
        }

直接上代码了.

此文包括前几文都是出自同一工程中的源码.

感觉小小的项目中涉及了许多自己不知道的东西知识点,就都码了下来.

这段代码简单,没什么可介绍的.

但是自己有一个问题,就是在线程开启后如果任务没有全部完成的话关闭程序,VS还处于运行中状态,我想大概是因为线程还没有全部结束的原因,找了些方法试了下,但还是没有解决.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值