C#多线程编程实战(从入门到精通系列)第二篇 指定间隔终止线程
来源:互联网 发布:十月革命 知乎 编辑:程序博客网 时间:2024/04/30 10:58
今天,要分享的是线程开始运行后指定时间关闭线程
static void Main(string[] args){Console.WriteLine("Starting program...");Thread t = new Thread(PrintNumbersWithDelay);t.Start();Thread.Sleep(TimeSpan.FromSeconds(6));t.Abort();Console.WriteLine("A thread has been aborted");}static void PrintNumbersWithDelay(){Console.WriteLine("Starting...");for (int i = 1; i < 10; i++){Thread.Sleep(TimeSpan.FromSeconds(2));Console.WriteLine(i);}}
线程启动后,使用
Thread.Sleep(TimeSpan.FromSeconds(6));作为指定的间隔时间,然后调用
t.Abort();终止线程。
其实,终止线程的正确方法应该是这样的:
static void Main(string[] args){RunThreads();}static void RunThreads(){var sample = new ThreadSample();var threadOne = new Thread(sample.CountNumbers);threadOne.Start();Thread.Sleep(TimeSpan.FromSeconds(2));sample.Stop();}class ThreadSample{private bool _isStopped = false;public void Stop(){_isStopped = true;}public void CountNumbers(){long counter = 0;while (!_isStopped){counter++;}Console.WriteLine("线程已终止,counter={0}",counter.ToString("N0"));}}
我们应该把在要调用的方法中设置一个停止变量,用这个变量来作为线程停止的标志,才是相对正确的,下篇给大家介绍如何正确的终止线程!
0 0
- C#多线程编程实战(从入门到精通系列)第二篇 指定间隔终止线程
- C#多线程编程实战(从入门到精通系列)第三篇 正确终止线程
- C#多线程编程实战(从入门到精通系列)第四篇 线程锁lock的用法
- C#多线程编程实战(从入门到精通系列)第一篇 入门
- LinuxC多线程编程第二篇:线程终止
- LinuxC多线程编程第二篇:线程终止
- C# socket编程从入门到精通
- jqury从入门到精通第二篇
- 《 Java并发编程从入门到精通》 多线程之间交互:线程阀
- 最新黑客攻防实战从入门到精通(第二版)_学习笔记(一)
- 最新黑客攻防实战从入门到精通(第二版)_学习笔记(二)
- 【Java 20 周年系列活动】图书试读评奖《Java 从入门到精通(第二版)》
- Qt Quick核心编程从入门到精通----系列教程
- 线程的基本操作(C#从入门到精通 第26章)
- 《javascript从入门到精通》第二篇 javascript核心技术
- 书单(一)JavaScript从入门到精通(第二版)
- SparkSQL从入门到精通企业实战
- Android多线程从入门到精通
- Hadoop:Centos6.5(64bit)Hadoop2.5.1伪分布式安装记录
- (一)Android布局时资源文件使用
- arduino小车
- 【jQuery】复选框的全选、反选,判断哪些复选框被选中
- poj1990 MooFest
- C#多线程编程实战(从入门到精通系列)第二篇 指定间隔终止线程
- Python3.X登录模拟CSDN,获取文章列表
- c#操作excel全攻略(导入导出) excel表增删改 以及常见问题的处理
- Search-in-Rotated-Sorted-Array
- SVM的两个参数 C 和 gamma
- 年轻父母必知的小儿急救方法
- Search-a-2D-Matrix
- 在IOS应用中打开另外一个应用
- Linux用户管理(2)