【多线程-Suspend()和Resume()方法】
来源:互联网 发布:软件测手机真伪 编辑:程序博客网 时间:2024/05/18 00:03
Suspend()用于挂起线程,Resume()用于继续执行已经挂起的线程。可以使用这两个方法进行线程的同步,和Start()方法有些类似的是:在调用Suspend方法后不会立即的停止,而是执行到一个安全点后挂起。
class Program { private static Thread subthread ; private static string name =""; static void Main(string[] args) { subthread = new Thread(new ThreadStart(GetShow)); subthread.IsBackground = false; subthread.Name = "子线程"; subthread.Start(); //开启线程 subthread.Suspend(); //挂起 Console.WriteLine(subthread.Name + "挂起"); Console.WriteLine("{0}后台线程", Thread.CurrentThread.Name+Thread.CurrentThread.IsBackground+",结束"); subthread.Resume(); //执行 Console.WriteLine("主线程结束"); } static void GetShow() { Console.WriteLine("输入姓名:"); name = Console.ReadLine(); Console.WriteLine("执行"); } }
在开启子线程后立即让他挂起,直到执行了Resume()后恢复线程的执行。注意如果在线程没有挂起时去调用Resume()方法会出现异常,所有使用这样的方法进行线程线程同步已经不推荐使用了。F12查看该方法看到已经进行了Obsolete进行了标记。
线程的同步可以使用互斥体(Mutex)和信号量(Signaling)进行。
0 0
- 【多线程-Suspend()和Resume()方法】
- Chapter 4 suspend和resume方法
- 线程之suspend和resume方法
- suspend和resume弊端
- JAVA多线程suspend()、resume()和wait()、notify()的区别
- 多线程suspend()、resume()和wait()、notify()的区别
- JAVA多线程suspend()、resume()和wait()、notify()的区别
- java 多线程suspend()、resume()和wait()、notify()的区别
- JAVA多线程suspend()、resume()和wait()、notify()的区别
- 从头认识多线程-1.11 suspend和resume缺点-独占
- 从头认识多线程-1.12 suspend和resume缺点-不同步
- suspend() 和 resume() 方法,notify()和wait()方法区别
- 关于TThread类的Suspend()方法和Resume()方法.
- Java中的线程Thread方法之---suspend()和resume()
- java 线程Thread方法之suspend()和resume()
- Java中的线程Thread方法之suspend()和resume()
- 为什么线程会放弃Suspend和Resume方法
- Java中的线程Thread方法之---suspend()和resume()
- HashMap、ConcurrentHashMap和SynchronizedMap – 哈希表在Java中的同步处理
- Android多媒体功能的实现上(音频,视频,相机,录音)
- 深入分析ConcurrentHashMap
- android 线程间的通信
- jrebel破解
- 【多线程-Suspend()和Resume()方法】
- Guava学习笔记:Preconditions优雅的检验参数
- IOS中的几种延时方法介绍
- 计算直线的交点数
- 布尔(Boolean)表达式
- hadoop集群增加/删除机器
- Objective-c 学习笔记(四)
- web.xml配置
- css选择器中:first-child与:first-of-type的区别