挂起起线程与终止线程的区别
2015-10-26 12:54
405 查看
Program1 p1 = new Program1(); Thread th = new Thread(new ThreadStart(p1.ThreadRunMethord));//创建一个新的子线程 if (th.ThreadState != ThreadState.Running)//判断子线程未开始时运行 { th.Start();//启动子线程 } Thread.Sleep(1000);//主线程休眠1秒钟 Console.WriteLine("子线程被挂起而暂停"); if (th.ThreadState == ThreadState.Running)//若子线程为运行状态 { th.Suspend();//线程被挂起而暂停 } if (th.ThreadState == ThreadState.Suspended)//若子线程为挂起状态 { th.Resume();//恢复子线程而继续执行 } Console.WriteLine("恢复运行已挂起的子线程");//输出子线程已被恢复执行的信息 Console.ReadLine(); public void ThreadRunMethord()//子线程执行的方法 { Console.WriteLine("子线程开始运行...."); } Program1 p1 = new Program1(); Thread th = new Thread(new ThreadStart(p1.ThreadRunMethord));//创建一个新的子线程 if (th.ThreadState != ThreadState.Running)//判断子线程未开始时运行 { th.Start();//启动子线程 } Thread.Sleep(1000);//主线程休眠1秒钟 Console.WriteLine("子线程被挂起而暂停"); if (th.ThreadState == ThreadState.Running)//若子线程为运行状态 { th.Abort();//子线程运行终止 } if (th.ThreadState == ThreadState.Stopped)//若子线程已经停止 { Console.WriteLine("线程已经终止");//输出子线程终止的信息 } Console.ReadLine(); public void ThreadRunMethord()//子线程执行的方法 { Console.WriteLine("子线程开始运行...."); }
相关文章推荐
- mysql中如何统计某字段里某个字符的个数
- 区分PATCH与PUT、POST方法
- android源码编译出错(5)
- Codeforces Round #326 (Div. 2)
- DOM - nodeType 的取值
- 2015年浪潮面试题
- 编程之法:面试和算法
- iOS开发工具-网络封包分析工具Charles
- c3p0数据源项目启动卡死
- 最少拦截系统
- 实习之前及实习时的学习计划
- 关于url传参乱码的解决方法以及文件流下载遇见的问题
- Linux下UDP通讯开发
- 使用AJAX直接调用后台方法
- struts2 之配置拦截器使网站页面在session失效后退回到登录页面
- 【整理】强化学习与MDP
- Android Studio导入第三方类库的方法
- 测试驱动
- Java核心技术第12章(4)
- 【1.Qt之多线程小入门】