问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

线程挂起和恢复的几种方法

发布网友 发布时间:2022-05-12 17:41

我来回答

1个回答

热心网友 时间:2023-10-16 06:42

线程的挂起与恢复,不推荐使用Thread..::.Suspend
和Thread..::.Resume方法。你可以通过AutoResetEvent
来控制挂起和恢复,用Sleep来暂停线程执行。
AutoResetEvent 允许线程通过发信号互相通信。通常,此通信涉及线程需要独占访问的资源。

线程通过调用 AutoResetEvent 上的
WaitOne 来等待信号。如果 AutoResetEvent 处于非终止状态,则该线程阻塞,并等待当前控制资源的线程
通过调用 Set 发出资源可用的信号。

调用 Set 向 AutoResetEvent 发信号以释放等待线程。AutoResetEvent 将保持终止状态,直到一个正在等待的线程被释放,然后自动返回非终止状态。如果没有任何线程在等待,则状态将无限期地保持为终止状态。

可以通过将一个布尔值传递给构造函数来控制 AutoResetEvent 的初始状态,如果初始状态为终止状态,则为
true;否则为 false。

通俗的来讲只有等myResetEven.Set()成功运行后,myResetEven.WaitOne()才能够获得运行机会;Set是发信号,WaitOne是等待信号,只有发了信号,
等待的才会执行。如果不发的话,WaitOne后面的程序就永远不会执行。
class Class1
{
public static bool ok = false;
static AutoResetEvent are = new AutoResetEvent(false);
public void add() {
while(true){
if (ok)
{
Console.WriteLine("你好");
Thread.Sleep(1000);
}
else {
Console.WriteLine("我等待");
are.WaitOne();
}
}
}

public static void begin(){
ok = true;
are.Set();
}

public static void end()
{
ok = false;
}
}

class Program
{
public static void Main(String[] args) {
Thread t = new Thread(new ThreadStart(new Class1().add));
Thread.CurrentThread.Name = "主线程";
t.Start();
t.Name = "Class1线程";
for (int i = 0; i < 10;i++ )
{
Console.WriteLine(i);
Thread.Sleep(1000);
}
Class1.begin();
for (int i = 0; i < 10; i++)
{
Console.WriteLine(i);
Thread.Sleep(1000);
}
Class1.end();
t.Abort();
Console.WriteLine(t.Name + "状态:" + t.ThreadState);
Console.ReadLine();
}
}
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
为什么一些男性喜欢要求伴侣叫自己爸爸? proteus8中怎么放置引脚标号 ...在proteus里不知道用什么表示?有没有什么proteus中专门的中英文对照... 甜蜜家园郑毅铭是什么身份 甜蜜家园第二季郑毅铭喜欢谁 瑞梦喜智能空调床垫适合人群 小孩可以用智能床垫吗 智能床垫适合哪些人用 我父亲今年59岁,有高血压和颈椎病的病史,最近一段时间感觉一躺下就偏... ...刚从医院治疗回来。我想买个枕头给他,不知买怎样的比较好?_百度知 ... 有什么正规的外汇平台吗 套饭里面有饭吗 鹿晗和张艺兴的感情怎么样 全电共享充电宝口碑怎么样?后期会有好的售后吗? 软件被电脑挂起怎么恢复 张艺兴和鹿晗是什么关系 鹿晗与张艺兴关系好吗 张艺兴和鹿晗关系怎么样 exo鹿晗世勋的关系好吗 ? 张艺兴鹿晗的关系好吗 ? 为什么张艺兴和鹿晗是闺蜜line? 张艺兴是如何把鹿晗甩在后面的,他们的发展为何不同? 的故事情节概括来讲是怎样的 名著故事情节概括 《周进的故事》情节概括是什么? 概括一篇小说的故事情节应该怎样概括? 怎样概括故事情节 起飞点品牌策划公司的业务范围有哪些? 三星内存颗粒是几纳米的 会计有一系列的专门方法有哪些 打算去日本留学,自己办手续比较繁琐吗?是不是找机构代办更好一些? 关于内存制程,DDR3的制程是多少 云豹共享充电宝口碑如何? 梦里在厕所洗衣服电线掉下水道里了啥意思? 共享充电宝哪个牌子的口碑好?代理哪个牌子的受欢迎呢? ios 后台线程被挂起怎么恢复 亚马逊跨境电商如何收付款 跨境电商收款平台空中云汇在国际付款方面的表现如何? windows内部是如何恢复一个挂起线程运行的 非洲加纳是东非还是西非 现在全聚德烤鸭店王府井店双人套餐多少钱 虚拟机挂起后无法恢复 东非足球发展比西非足球差距这么大是什么原因 系统还原被挂起且无法恢复为监视,为什么呢? 程序被挂起,点击恢复进程无反应,怎么解决,谢谢回答,win7系统 系统还原c盘显示挂起是什么原因呢 现在全聚德烤鸭店(王府井店)一套烤鸭多少钱! 通过查到对方聊天记录 空中云汇的跨境电商收款平台支持国际付款吗? 沈阳哪里能买到吐司冰淇淋面包 火烧冰淇淋怎么做 免费的同义词是什么