开始遍历的时候我是开启了一个新线程,在程序里判断的时候Thread.CurrentThread还是当前线程
解决方案 »
- rdlc报表怎么做?
- Developer Express 的 gridControl 控件 不能改变单元格的背景颜色吗?
- 为什么 System.Type.GetType("System.Windows.Forms.TextBox")返回null
- 存储过程查询列不固定,返回列赋值给实体
- 速记宝3.1 源代码下载+ 散分
- C#是做什么的呀?
- 程序在域工作组下可以正常运行,但是到了域控制器的机器下就不能运行了!!!!!!!!
- VS C#
- 那位大哥帮我描述一下lock锁定为何义?
- 方法的参数的按值传递或按引用传递问题?为什么方法可改变类的值,却不改变结构的值?
- “名”样式的编码是什么
- catch(Expection e)中的e是什么意思,请详细的说拜托了!
在那个位置进行的判断?
th.Stop();
{
case "开始检查":
cha = new Thread(new ThreadStart(threadchange));
cha.Start();
this.btnCheck.Text = "暂停";
break;
case "暂停":
if (cha.ThreadState == ThreadState.Running)
{
cha.Suspend();
this.btnCheck.Text = "继续";
}
break;
case "继续":
if (cha.ThreadState == ThreadState.Suspended || cha.ThreadState == ThreadState.SuspendRequested)
{
cha.Resume();
this.btnCheck.Text = "暂停";
}
break;
}
这是我的按钮事件,当第二次点击按钮也就是想暂停的时候,根本就进不去那个条件原因是这个时候那个线程不知为什么是停止的。把那个cha设置为Thread.CurrentThread就可以进那个暂停的条件,但是整个主程序都挂起了,就像死了一样