成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

講解VB.NET定時器中System.Timers.Timer類

開發 后端
這里為你介紹了除了標準的EventArgs成員,ElapsedEventArgs類暴露了一個公共的SignalTime屬性,它包含了一個精確的VB.NET定時器時間片消失的時間。

在向大家詳細介紹VB.NET定時器 之前,首先讓大家了解下VB.NET,然后全面介紹 System.Timers.Timer 。VB.NET框架文檔指出System.Timers.Timer類是一個VB.NET定時器中服務定時器,是為多線程環境進行設計和優化。該定時器類的實例能夠被多個線程安全地訪問。不像System.Windows.Forms.Timer,System.Timers.Timer缺省的,將在一個工作者線程上調用你的定時器事件處理函數,該工作者線程是從公共語言運行時(CLR)線程池中獲得。這意味著在你的逝去的時間處理函數代碼中必須遵從Win32編程的黃金規則:除了創建該控件實例的線程之外,一個控件的實例從來不被任何其它的線程所訪問。

VB.NET System.Timers.Timer提供了一個簡單的方法處理這樣的困境——暴露一個公共的SynchronizingObject屬性。把該屬性設置為一個窗體實例(或者窗體上的一個控件)將保證你的事件處理函數代碼運行在SynchronizingObject被實例化的同一個線程里。

如果你使用了Visual Studio .NET工具箱,Visual Studio .NET自動的設置SynchronizingObject屬性為當前的窗體實例。首先它設定該定時器的SynchronizingObject屬性使其在功能上同System.Windows.Forms.Timer類一樣。對于大部分功能,的確是這樣。當操作系統通知System.Timers.Timer類所允許的定時時間已過去,定時器使用SynchronizingObject.Begin.Invoke方法在一個線程上去執行事件委托,該線程是創建SynchronizingObject的線程。事件處理函數將被阻塞直到UI線程能夠處理它。然而不像System.Windows.Forms.Timer類一樣,該事件最終仍然能夠被引發。像你在Figure 2中看到的,當UI線程不能夠處理時System.Windows.Forms.Timer不會引發事件,可是當UI線程可用時System.Timers.Timer卻會排隊等候處理。

正如我早先提到的,VB.NET System.Timers.Timer類成員非常類似與System.Windows.Forms.Timer。最大的區別就在與System.Timers.Timer類是對Win32可等待定時對象的一個包裝,并在工作者線程上產生一個時間片消失事件而不是在UI線程上產生一個時間標記事件。時間片消失事件必須與一個同ElapsedEventHandler委托像匹配的事件處理函數相連接。事件處理函數接受一個ElapsedEventArgs類型的參數。

除了標準的EventArgs成員,ElapsedEventArgs類暴露了一個公共的SignalTime屬性,它包含了一個精確的VB.NET定時器時間片消失的時間。因為這個類支持不同線程的訪問,除了時間消失事件所在的線程,應該相信它的Stop方法能夠被其它線程所調用。這會潛在的導致消失事件被引發即使其Stop方法已經被調用。你可以把SignalTime和Stop方法調用的時間進行比較來解決這個問題。

System.Timers.Timer也提供了AutoReset屬性來決定當時間片消失事件引發后是繼續進行還是只這一次。要記住在定時器開始后重設間隔屬性會導致當前計數為0。比如,設置了一個5秒的間隔,在間隔被改變為10秒時3秒已經過去了,那么下一個定時器事件將會在上一個定時器事件13秒后發生。

【編輯推薦】

  1. 實例講述VB.NET使用Log4Net
  2. 三分鐘學會VB.NET轉換形態
  3. VB.NET獲取硬盤信息四大法寶
  4. 講述VB.NET調用Excel的好處
  5. 簡單例子概述VB.NET新窗體
責任編輯:田樹 來源: 賽迪網
相關推薦

2009-10-28 10:31:59

VB.NET Syst

2009-11-03 09:09:19

VB.NET類

2010-01-11 16:04:10

VB.NET使用wit

2009-10-20 10:16:24

VB.NET COMB

2010-01-22 15:25:46

VB.NET Time

2009-10-28 10:42:02

VB.NET定時器編程

2009-10-12 13:54:22

VB.NET Data

2009-10-23 13:10:14

VB.NET List

2009-10-15 11:42:05

VB.Net賦值語句

2009-10-28 10:58:34

VB.NET定時器事件

2009-10-13 14:42:30

VB.NET靜態成員

2009-10-14 17:21:47

VB.NET定制Win

2010-01-18 18:20:49

VB.NET使用API

2009-10-12 14:32:40

VB.NET實現定時關

2009-10-20 09:39:04

VB.NET Butt

2009-11-02 16:30:29

VB.NET構造器

2010-01-12 16:20:44

VB.NET類

2009-10-20 17:38:54

VB.NET Comp

2009-10-13 14:50:59

VB.NET Envi

2009-10-10 17:06:09

VB和VB.NET
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 日本精品久久久久 | 国产高潮好爽受不了了夜色 | 亚洲精品福利在线 | 亚洲精品中文在线观看 | 在线看一区二区三区 | 亚洲性视频网站 | 午夜视频在线播放 | 国产一级片在线播放 | 91精品亚洲| 久久久精品国产 | 欧美成人精品一区二区男人看 | 欧美激情精品久久久久久 | 免费能直接在线观看黄的视频 | 特黄色一级毛片 | 国产伊人精品 | 久久久这里都是精品 | 亚洲视频在线观看免费 | 久久精品免费 | 亚洲精品国产电影 | 狠狠的干狠狠的操 | 久久精品国产久精国产 | 国产清纯白嫩初高生视频在线观看 | 久草中文网| 色综合激情 | 久久久久国产一区二区三区四区 | 欧美久久久久久久 | 在线成人免费av | 国产精品久久久久久妇女 | 亚洲视频免费播放 | 国产欧美精品一区二区 | 岛国av免费在线观看 | 精品久久久久久久人人人人传媒 | 日韩一区二区三区视频 | 国产清纯白嫩初高生在线播放视频 | 91在线精品秘密一区二区 | 亚洲一区在线播放 | a级片播放 | 国产精品高潮呻吟久久 | 乳色吐息在线观看 | 欧美激情精品久久久久久 | 亚洲国产aⅴ成人精品无吗 综合国产在线 |