通过suspend()函数,可使线程进入停滞状态。通过suspend()使线程进入停滞状态后,除非收到resume()消息,否则该线程不会变回可执行状态。当调用suspend()函数后,线程不会释放它的“钥匙”。

在开启子线程后立即让他挂起,直到执行了Resume()后恢复线程的执行。注意如果在线程没有挂起时去调用Resume()方法会出现异常,所有使用这样的方法进行线程线程同步已经不推荐使用了。

  1. class Program
  2. {
  3. private static Thread subthread ;
  4. private static string name ="";
  5. static void Main(string[] args)
  6. {
  7. subthread = new Thread(new ThreadStart(GetShow));
  8. subthread.IsBackground = false;
  9. subthread.Name = "子线程";
  10. subthread.Start();   //开启线程
  11. subthread.Suspend(); //挂起
  12. Console.WriteLine(subthread.Name + "挂起");
  13. Console.WriteLine("{0}后台线程", Thread.CurrentThread.Name+Thread.CurrentThread.IsBackground+",结束");
  14. subthread.Resume();  //执行
  15. Console.WriteLine("主线程结束");
  16. }
  17. static void GetShow()
  18. {
  19. Console.WriteLine("输入姓名:");
  20. name = Console.ReadLine();
  21. Console.WriteLine("执行");
  22. }
  23. }

java线程暂停与恢复suspend和resume相关推荐

  1. 潇洒郎: python threading 实现线程暂停、恢复、停止功能

    结果: 线程暂停.恢复.停止见注释 obj-T1-0obj-T2-0main 0obj-T1-1obj-T2-1obj-T2-2main 1obj-T1-2obj-T1-3obj-T2-3main 2 ...

  2. (转) Java线程同步阻塞, sleep(), suspend(), resume(), yield(), wait(), notify()

    为了解决对共享存储区的访问冲突,Java 引入了同步机制.但显然不够,因为在任意时刻所要求的资源不一定已经准备好了被访问,反过来,同一时刻准备好了的资源也可能不止一个. 为解决访问控制问题,Java ...

  3. java线程暂停和继续_线程暂停和恢复

    一个线程,在无限的循环,当有数据的时候就会被处理掉,但是如果暂时还没有数据,我们也会迭代判断有没有数据.这样就造成了浪费.我们可以让没有数据的时候暂停这个线程,当有数据进来的时候再通知线程运行,如果线 ...

  4. java suspend() 和 resume(),java多線程之(suspend()、resume())

    suspend()和resume()方法,從字面意義上可以了解到這兩個方法是一對的,suspend()方法就是將一個線程掛起(暫停),resume()方法就是將一個掛起線程復活繼續執行.參照例子: p ...

  5. java thread resume_java 线程Thread方法之suspend()和resume() | 学步园

    官方解释如下:http://download.oracle.com/javase/6/docs/technotes/guides/concurrency/threadPrimitiveDeprecat ...

  6. java 线程 暂停_如何实现Java线程的暂停和重新启用?

    展开全部 JAVA中线程开始有start方法,暂停用sleep(time)方法,线程停止用stop方法,线程等待wait方法,java 中没有线程重启一说,只能说线62616964757a686964 ...

  7. java线程暂停_Java之线程停止

    public void run() { while(true){ someWork(); if(finished){ break; } try { Thread.sleep(10000); } cat ...

  8. java 线程resume_Java暂停/挂起线程(suspend())和恢复线程(resume())

    暂停线程意味着此线程还可以恢复运行.在 Java 多线程中,可以使用 suspend() 方法暂停线程,使用 resume() 方法恢复线程的执行. suspend() 与 resume() 方法 本 ...

  9. Java多线程通信Suspend和Resume,为什么被弃用,如何导致死锁

    文章目录 Suspend和Resume作用 Suspend和Resume为什么被弃用 Suspend和Resume作用 suspend: 让线程挂起,暂停,程序停止往下执行. resume: 唤醒被s ...

最新文章

  1. 【测试】物料帐单/多级差异流转测试
  2. 专栏 | 基于 Jupyter 的特征工程手册:数据预处理(三)
  3. Redis- 内存数据库Redis之安装部署
  4. 限制在同一台电脑上只允许有一个用户登录系统
  5. 【工具】FTP软件FileZilla下载和连接服务器
  6. 2014年度总结——程序员生涯的开启
  7. Android---06---2中动画效果
  8. python统计字典中元素个数_Python计数器 | collections.Counter
  9. Windows字体拯救计划(雅黑+monaco+mactype)
  10. 阿里巴巴测试开发工程师面试记录
  11. 全基因组关联分析(GWAS)常见问题(工具,概念,脚本)
  12. (分层图)洛谷P4568[JLOI2011]飞行路线
  13. RocketMQ 学习方法之我见
  14. php处理excel图表,php导入excel的图片
  15. dede标签调用大全
  16. Swift减少print函数的耗费
  17. 民锋国际期货:期货交易 | 博弈之道,遵守法则
  18. [Matlab]糖葫芦代码实现
  19. 给bootstrap-treeview添加滚动条
  20. 怎么用html制作满天星,html+js+css 实现满天星

热门文章

  1. [leetcode] 141.环形链表
  2. 编码utf-8的不可映射字符_建议永远不要在MySQL中使用UTF8
  3. 实验详解——Cobbler自动部署最小化安装
  4. java调用jni接口,Java 中通过jni接口调用native code
  5. response.setHeader各种用法 .
  6. 局域网内时间同步的一种简单办法
  7. ale插件 vim_Vim之代码异步检测插件 ALE -- 实时检查verilog等代码的正确性
  8. 小程序加入人脸识别_人脸识别微信小程序案例:11.案例概述
  9. java线性表合并_单链表的合并(Java实现)
  10. catia圆管焊接焊接_CATIA焊接教程.ppt