C# 使用线程池设置每个线程的执行时间,怎样设置结束时间?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C# 使用线程池设置每个线程的执行时间,怎样设置结束时间?相关的知识,希望对你有一定的参考价值。
参考技术A先建一个类下面的成员,来存放进程。
List<Thread> pool = new List<Thread>();
Thread t = new Thread(new ThreadStart(gethtmlContent));
pool.Add(t);
t.Start();
给类加一个Timer。
System.Timers.Timer timer = new Timer();
timer.Interval = 30000;
timer.Elasped += new EventHandler(this. timerElapsed);
timer.Enabled = true;
timer.Start();
然后增加timer的事件处理。
private void timerElapsed(object sender, EvenArgs e)
//终止进程
foreach(Thread t in pool)
if(t != null && t.IsAlive)
if(!t.Join(5)) t.Abort();
C#是微软公司发布的一种面向对象的、运行于.NET Framework之上的高级程序设计语言。
C#看起来与Java有着惊人的相似;它包括了诸如单一继承、接口、与Java几乎同样的语法和编译成中间代码再运行的过程。但是C#与Java有着明显的不同,它借鉴了Delphi的一个特点,与COM(组件对象模型)是直接集成的,而且它是微软公司 .NET windows网络框架的主角。
线程池设计
1、创建一个阻塞队列
(1)可以使用链表实现
(2)设置一个最大容量
(3)定义一个插入方法,队列满则阻塞;定义一个移除方法,队列空则阻塞。
2、创建一组线程
(1)每个线程运行时从阻塞队列获取任务执行。
(2)线程可以被中断。
3、执行和终止方法实现
(1)调用执行方法,线程池往阻塞队列插入一个任务,然后线程池中的空闲线程不停循环获取任务去执行。
(2)调用终止方法,运行中的线程会继续执行到结束,阻塞中的线程不会再执行。
以上是关于C# 使用线程池设置每个线程的执行时间,怎样设置结束时间?的主要内容,如果未能解决你的问题,请参考以下文章