C# System.Timers.Timers的用法在工控设备上位中的用法

这两天写设备的上位,由于要读取服务器上的数据库,通过WEBSERVICE访问数据库,我具体的做法是:

1、专门用Timer起线程执行,由于在用的时候报错,不能访问其他线程资源的错误,因此我用了委托的方法解决,是从网上看的说是可以解决,代码如下:

       timer1 = new System.Timers.Timer();
            
            timer1.Elapsed += new ElapsedEventHandler(timer1_Elapsed);

 

   private void timer1_Elapsed(object sender, ElapsedEventArgs e)
        {
            if (Closing) return;
            timer1CallBack callBack = delegate()
            {

         Tim1IsRuning = true;

                    // ========================================

                   Tim1IsRuning = false;                

            };        

 

     this.Invoke(callBack);       }     

 

2、问题是我不知道这样做对不对呢?如果当起线程的时间大于线程执行的时间的时候,后面的线程就会等待的,这时候怎么处理,这里没有做处理,还有没有做线程同步的问题,临界区资源没有做防护。

转载于:https://www.cnblogs.com/ModBus/p/4960081.html

### 回答1: C#的System.Timers.Timer是一个计时器类,可以用来定时执行某个操作或者触发某个事件。它可以在指定的时间间隔内重复执行,也可以只执行一次。使用该类需要创建一个Timer对象,设置Interval属性来指定时间间隔,然后注册Elapsed事件来处理定时器到期时的操作。在使用完毕后,需要调用Stop方法来停止计时器。 ### 回答2: c是一种最基础的编程语言,也是介绍计算机科学基础的一种语言。它的历史可以追溯到上世纪70年代,由Dennis Ritchie开发,是用来编写UNIX操作系统的。由于在计算机早期的时候,没有很多高级编程语言,c语言的出现填补了这个空白,成为了当时计算机程序员必须掌握的一种工具。之后,c语言成为了计算机领域的标准语言之一。 c语言有许多优点。其一,它是高效的,能够明显提升程序员工作效率。其二,因为c语言是面向过程的编程语言,因此较易理解与阅读,这个特点也使得c语言在很多应用领域得到了广泛的应用,例如操作系统、数据库和编译器等。 然而,相对于其他编程语言,c语言也有一些缺点。其一,它需要程序员处理内存分配、释放等底层细节,这需要程序员具备特定的技术能力。其二,c语言不支持高级抽象特性(例如对象和类),因此其编程范式比面向对象的编程语言更加原始。 综上所述,c语言的出现对计算机科学领域产生了巨大的影响并为很多应用领域提供了方便,然而在许多情况下,它已被其他编程语言所取代。但这并不影响c语言的重要性,毕竟对于任何一个计算机程序员来说,掌握c语言都是基础的基础。 ### 回答3: 抱歉,您没有提供任何相关的问题或话题,因此我无法为您提供有意义的答案。如果您能提供更多的信息,我将非常乐意回答您的问题。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值