C# 创建2个线程挂起,让这个线程内的不同事件每隔5秒执行一次,怎么实现?

Class1:.............publicvoidResource(){我是想让这段程序每隔5秒钟执行一次}................////Class1... Class1 :
.............
public void Resource()
{
我是想让这段程序 每隔5秒钟执行一次

}
................

////

Class1 h1= new Class1();
private void button1_Click(object sender, EventArgs e)
{
Thread esource = new Thread(new ThreadStart(h1.esource));
esource.Start();
}
展开
 我来答
檀贺拨骏0h0
2013-04-10 · TA获得超过2998个赞
知道小有建树答主
回答量:7802
采纳率:20%
帮助的人:619万
展开全部
不要使用Suspend和Resume方法来同步线程活动。你可以不知道它是什么代码执行线程挂起。如果挂起持有锁的线程的安全权限评估期间,AppDomain中的其他线程可能被阻止。如果线程正在执行一个类的构造函数把它挂AppDomain中尝试使用类其他线程将被阻塞。因此,它是容易出现僵局。

这是他的过时的原因。
所以只要你不使用lock语句一般是一点问题都没有。放心用吧!
百度网友cfe4d0f
2013-04-10 · TA获得超过1502个赞
知道小有建树答主
回答量:937
采纳率:100%
帮助的人:855万
展开全部
如果你没有必要对这个类严格控制的话(比如挂起操作 控制优先级操作等等)
创建两个timer就好了 timer使用的是线程池的线程 达到的效果是一样的

new ThreadStart(delegate(){
h1.esource();
Thead.Sleep(5000);
});
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
疯宝宝love思忆
2013-04-10 · TA获得超过172个赞
知道小有建树答主
回答量:146
采纳率:100%
帮助的人:61.8万
展开全部
执行一下 休眠5秒 就可以了
追问
怎么休眠?
追答
Thead.Sleep(5000);
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
励龙友兰芝
2019-05-18 · TA获得超过1123个赞
知道小有建树答主
回答量:654
采纳率:100%
帮助的人:5.8万
展开全部
c#中线程挂起相当于该线程暂时不继续执行下去了,如果从代码去看就是suspend执行了以后这个线程就停在挂起时执行的那句代码上了,挂起后恢复就相当于线程继续从挂起时停留的代码上开始继续向下执行了,相当于跑步时候的停止与继续起跑动作
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式