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

講解定時器VB.NET System.Threading類

開發 后端
這里為大家介紹了VB.NET System.Threading有四個重載構造函數,一旦構造函數被調用,你仍然可以通過Change方法改變dueTime和period。

之前我們將了關于定時器System.Windows.Forms.Timer類的講解,今天我們大家來看和它類似的另一個VB.NET System.Threading 。這個定時器類來自System.Threading名字空間。我愿意說這是所有定時器類中最好的一個,但這會引起誤導。舉一個例子,我驚訝的發現對于駐留在VB.NET System.Threading名字空間的這個類天生就不是線程安全的。(很明顯,這不意味著它不能以線程安全的方式使用)。這個類的可編程接口同其它兩個類也不一致,它稍微有點麻煩。

不像我開始描述的兩個定時器類,VB.NET System.Threading有四個重載構造函數,就像下面這樣:

  1. public Timer(TimerCallback callback, object state, long dueTime, long period);  
  2. public Timer(TimerCallback callback, object state, UInt32 dueTime, UInt32 period);  
  3. public Timer(TimerCallback callback, object state, int dueTime, int period);  
  4. public Timer(TimerCallback callback, object state, TimeSpan dueTime, TimeSpan period); 

第一個參數(callback)要求一個TimerCallback的委托,它指向一個方法,該方法具有下面的結構:

  1. public void TimerCallback(object state);  

第二個參數(state)可以為空或者是包含程序規范信息的對象。在每一個定時器事件被調用時該state對象作為一個參數傳遞給你的定時回調函數。記住定時回調功能是在一個工作者線程上執行的,所以你必須確保訪問state對象的線程安全。
第三個參數(dueTime)讓你定義一個引發初始定時器事件的時間。你可指定一個0立即開始定時器或者阻止定時器自動的開始,你可以使用VB.NET System.Threading.Timeout.Infinite常量。
第四個參數(period)讓你定義一個回調函數被調用的時間間隔(毫秒)。給該參數定義一個0或者Timeout.Infinite可以阻止后續的定時器事件調用。

一旦構造函數被調用,你仍然可以通過Change方法改變dueTime和period。該方法有下面四種重載形式:

  1. public bool Change(int dueTime, int period);public bool Change(uint dueTime, uint period);  
  2. public bool Change(long dueTime, long period);public bool Change(TimeSpan dueTime, TimeSpan period);  

下面是我在例子程序中用到的開始和停止該定時器的代碼:

  1. //Initialize the timer to not start automatically...System.Threading.Timer tmrThreadingTimer = newSystem.Threading.
    Timer(new TimerCallback(tmrThreadingTimer_TimerCallback), null, System.Threading.Timeout.Infinite, 1000);  
  2. //Manually start the timer...tmrThreadingTimer.Change(0, 1000);  
  3. //Manually stop the timer...tmrThreadingTimer.Change(Timeout.Infinte, Timeout.Infinite); 

正如你所期望的那樣,通過選擇VB.NET System.Threading.Timer類運行例子程序會產生同你看到的System.Timers.Timer類一樣的輸出結果。因為TimerCallback功能也是在工作者線程上被調用,沒有一個跳動被跳過(假設有工作者線程可用)。Figure 5顯示了例子程序的輸出結果。

不像System.Timers.Timer類,沒有與SynchronizingObject相對應的屬性被提供。任何請求訪問UI控件的操作都必須通過控件的Invoke或BeginInvoke方法被列集

【編輯推薦】

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

2009-10-28 10:23:48

VB.NET定時器

2010-01-11 16:04:10

VB.NET使用wit

2009-10-20 10:16:24

VB.NET COMB

2009-11-03 09:09:19

VB.NET類

2009-10-28 10:42:02

VB.NET定時器編程

2010-01-18 18:20:49

VB.NET使用API

2009-10-13 14:42:30

VB.NET靜態成員

2009-10-14 17:21:47

VB.NET定制Win

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-12 14:32:40

VB.NET實現定時關

2009-10-28 10:58:34

VB.NET定時器事件

2009-11-02 16:30:29

VB.NET構造器

2009-10-13 14:50:59

VB.NET Envi

2010-01-12 16:20:44

VB.NET類

2009-10-20 17:38:54

VB.NET Comp

2009-10-10 17:06:09

VB和VB.NET

2009-10-20 09:39:04

VB.NET Butt

2009-10-12 16:56:36

VB.NET常量VB.NET枚舉
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: a在线视频 | 久久在线免费 | 欧美中文字幕一区二区三区亚洲 | 日韩av最新网址 | 日本a视频 | 欧美日韩精品一区二区三区四区 | 毛片1| 成人小视频在线观看 | 欧美国产一区二区 | 自拍偷拍第一页 | 久久久精品| 久久久精品网站 | 九九综合 | 成人教育av | 99久久久99久久国产片鸭王 | 91九色porny首页最多播放 | 精彩视频一区二区三区 | 久久久www成人免费精品 | 精品国产综合 | 午夜精品91 | 精品无码久久久久久国产 | 国产aⅴ爽av久久久久久久 | 国产精品揄拍一区二区久久国内亚洲精 | 国产视频在线一区二区 | 久久中文视频 | 国产精品精品视频一区二区三区 | 91免费视频 | av中文字幕在线播放 | 欧美日韩综合视频 | 日韩毛片中文字幕 | 久久9久| 久久久久久久夜 | 黄视频国产| 精品无码久久久久久国产 | 久久不射电影网 | 亚洲视频中文字幕 | 亚洲国产一区视频 | 一级黄色影片在线观看 | 亚洲精品中文字幕中文字幕 | 成人av在线播放 | 国产精品美女久久久 |