c#多线程问题 比如,我创建了一个线程A,那么,我怎么实现,在一个按钮中暂停/继续 这个功能?用suspend,说什么已经过期了 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 使用 Mutex、ManualResetEvent、AutoResetEvent 和 Monitor。 Thread th = new Thread(YourThread); th.Start();AutoResetEvent detailCollectedEvent = new AutoResetEvent(false); void YourThread() { } 现在不建议用 suspend 了,试试 WaitHandle 写出你的代码,看看怎么用suspend? 感谢各位的回复但是,能否给我一个完整一些代码呀?我要实现的功能是:一个主窗口中有三个按钮,一个按钮名字是:开始,另外一个按钮的名字是:暂停/继续最后一个按钮名字是:停止 然后,我想创建一个子进程A,然后,让进程A执行三个按钮的功能,同时,不会影响到winform的UI。请问该怎么做?现在困扰在,单击事件中无法找到A 实现代码中使用 sleep 函数按钮消息函数中用 thread.suspend 把你创建的子线程设计成类成员。这样在类里都能访问到。又仔细看了你需求,暂停应该是根据你具体的设计,及时保存暂停时的数据。简单点用个标志位来处理就可以。_isSuspend = true(暂停)/false(继续)开始按钮:_workThread.Start();暂停按钮: _isSuspend = !_isSuspend;实际执行的方法体里(ThreadStart代理的方法)用while(true){ if(_isSuspend) { //暂停处理 } else { //继续处理 } Thread.Sleep(50); //每50ms检查suspend} 恩,while(true) 只是一个举例,应该是有结束标志判断。 关于oracle版本兼容的问题 如何把DATASET中的数据保存到数据库 winform在上个模糊查询的基础上查询信息 winform里如何调用javascrip里的方法?求救 vs2005 中作安装程序打包怎样把第三方控件也打进去 关于证书问题 各位大哥进来给点建议,均有分! 去掉验证码干扰线 关于初级程序员的考试 我想在窗体被关闭的时候执行一段代码,应该把代码写到哪里呢? tabControl在splitContainer中的一个BUG的处理问题 c# 建立线程问题
Thread th = new Thread(YourThread);
th.Start();
AutoResetEvent detailCollectedEvent = new AutoResetEvent(false);
void YourThread()
{
}
写出你的代码,看看怎么用suspend?
但是,能否给我一个完整一些代码呀?我要实现的功能是:一个主窗口中有三个按钮,一个按钮名字是:开始,另外一个按钮的名字是:暂停/继续最后一个按钮名字是:停止 然后,我想创建一个子进程A,然后,让进程A执行三个按钮的功能,同时,不会影响到winform的UI。请问该怎么做?现在困扰在,单击事件中无法找到A
按钮消息函数中用 thread.suspend
又仔细看了你需求,暂停应该是根据你具体的设计,及时保存暂停时的数据。
简单点用个标志位来处理就可以。
_isSuspend = true(暂停)/false(继续)开始按钮:_workThread.Start();
暂停按钮: _isSuspend = !_isSuspend;实际执行的方法体里(ThreadStart代理的方法)
用
while(true)
{
if(_isSuspend)
{
//暂停处理
}
else
{
//继续处理
}
Thread.Sleep(50); //每50ms检查suspend}