浅谈C#多线程简单例子讲解

2019-12-30 14:52:30于海丽

在创建计时器之后若想改变它的period和dueTime,我们可以通过调用Timer的Change方法来改变:


public bool Change(
 int dueTime,
 int period
);//显然所改变的两个参数对应于Timer中的两参数
public static int Main(string[] args)
{ 
Console.WriteLine ("period is 1000");
Timer tm=new Timer (new TimerCallback (TimerCall),3,1000,1000);
Thread.Sleep (2000);
Console.WriteLine ("period is 500");
tm.Change (0,800);
Thread.Sleep (3000);
return 0;
 }
public static void TimerCall(object b)
{ 
Console.WriteLine ("timercallback; b is {0}",b);
}

其运行结果为:

period is 1000
timercallback;b is 3
timercallback;b is 3
period is 500
timercallback;b is 3
timercallback;b is 3
timercallback;b is 3
timercallback;b is 3 

总结

从以上的简单介绍,我们可以看出它们各自使用的场合:Thread适用于那些需对线程进行复杂控制的场合;ThreadPool适应于一些需要多个线程而又较短任务(如一些常处于阻塞状态的线程);Timer则适用于那些需周期性调用的方法。只要我们了解了它们的使用特点,我们就可以很好的选择合适的方法。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持ASPKU。


注:相关教程知识阅读请移步到c#教程频道。