我想利用线程来完成类似Timer控件的功能,就是间隔n秒执行一个操作,
请问这个代码怎么写,是这样吗:
private static bool isStop=false;
在线程中是不是使用如下代码来实现循环间隔执行
whiel(isStop=true)
{
   System.Thread.Threading.Sleep(n*1000);
//欲执行的操作}
如果要停止就改变isStop的值为false?

解决方案 »

  1.   

    Timer实现基本上就是这样
    不过Sleep很不准的,所以要做校正
    要精度高,就每次Sleep(0)然后卡ms(当然开销就大了)
      

  2.   

    你的做法当然可以。不过线程是有代价的,所以应用程序默认线程池非常小。你的做法对于自己玩玩完全可以,对于大系统,就相当于一个月只有1000块钱生活费的人每天都去下馆子吃饭,撑不了几天就把大量(CPU线程上下文管理)资源交待出去了。