自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

詳細描述VB.NET開發(fā)多線程

開發(fā) 后端
這里介紹我們利用VB.NET開發(fā)多線程的應(yīng)用程序時,是一件很令人痛苦的事,經(jīng)常是多線程的程序運行是會變成多錯誤的程序!

VB.NET有很多值得學習的地方,這里我們主要介紹VB.NET開發(fā)多線程,包括介紹多線程程序threadtest.vb的代碼等方面。

VB.NET(Visual Basic.NET)是為適應(yīng)Microsoft .NET框架的需要,對Visual Basic進行了重大改造后的開發(fā)工具。它比Visual Basic 6.0功能更強大,更易于使用。其中最重要的變化就是對象繼承,在VB.NET中,所有可管理的類型都衍生自System.Object。作為編程工具,最重要的一個特性就是垃圾碎片的回收,它由CLR(Common Language Runtime)進行控制,并提供更好的內(nèi)存管理功能。通用的類型定義可以提供更好的互操作性和協(xié)同工作能力,因此,VB.NET顯得更強大、更具可靠性。

在VB.NET中,大多數(shù)CLR內(nèi)建的類型都在System名字空間里已經(jīng)定義了。比如:System.Object, System.Int32, 和 System.String。要注意的是:一個名字空間可能嵌在另一個名字空間內(nèi),象System.Data里就有 System.Data.DataSet的類。

代表是CLR編程模型很重要的一個新概念。代表是一個特殊類型的可管理的類,當你創(chuàng)建一個代表的實例時,你必須提供一個帶有匹配簽名的方法執(zhí)行的地址,一旦創(chuàng)建了一個代表的實例,調(diào)用方法將變的很容易。

過去,我們利用VB.NET開發(fā)多線程的應(yīng)用程序時,是一件很令人痛苦的事,經(jīng)常是多線程的程序運行是會變成多錯誤的程序!但在VB.NET中,這種狀況已經(jīng)大為改觀。現(xiàn)在,我們利用VB.NET處理多線程和利用JAVA處理多線程一樣簡單了。下面我們就舉個例子,來看看VB.NET開發(fā)多線程吧!

下面是多線程程序threadtest.vb的代碼:

  1. imports System  
  2. imports System.Threading  
  3.  
  4. public class AClass  
  5.  
  6. public sub Method1()  
  7. Dim i as integer  
  8. For i = 1 to 100  
  9. Console.Writeline("這是類AClass方法method1的內(nèi)容",i)  
  10. next  
  11. end sub  
  12.  
  13. public sub Method2()  
  14. Dim i as integer  
  15. For i = 1 to 100  
  16. Console.Writeline("這是類AClass方法method2的內(nèi)容",i)  
  17. next  
  18. end sub  
  19.  
  20. end class  
  21.  
  22. public class ThreadTest  
  23.  
  24. public shared sub Main()  
  25. dim obj as new aclass  
  26. dim th1,th2 as thread  
  27.  
  28. th1=new Thread(new ThreadStart(addressof obj.method1))  
  29. th1.start  
  30.  
  31. th2=new Thread(new ThreadStart(addressof obj.method2))  
  32. th2.start  
  33.  
  34. dim i as integer  
  35. For i1 to 100  
  36. Console.WriteLine("Main方法里的內(nèi)容",i)  
  37. Next  
  38. end sub  
  39.  
  40. end class 

現(xiàn)在,來讓我們剖析一下上面的例子:

1.我們創(chuàng)建了我們自己的類AClass,并創(chuàng)建了兩個方法:Method1和Method2。
2.這兩個方法很簡單,只有一個For循環(huán),向輸出設(shè)備輸出一些信息。
3.我們還定義了另外一個類ThreadTest來使用上面創(chuàng)建的類AClass。
4.在Main()方法中,我們創(chuàng)建了類Thread的實例。
5.類Thread可以在System.Threading名字空間里得到,它定義了處理線程的屬性和方法。
6.在類Thread的構(gòu)造器中,我們使用了類ThreadStart,類ThreadStart是一個代表,標志著當一個線程開始時就開始執(zhí)行定義的方法。
7.為了執(zhí)行定義的方法,我們實際調(diào)用的是線程的Start()方法。
8.用VBC來編譯上面的程序:vbc /out:threadtest.exe threadtest.vb
9.運行編譯后的程序,我們將會看到我們定義的兩個方法和main()方法的混合輸出,這就說明每一個方法都在自己的線程下運行。
10.除了上面的方法,線程還有下面常用的方法:
◆Stop():停止線程的運行。
◆Suspend():暫停線程的運行。
◆Resume():繼續(xù)線程的運行。
◆Sleep():停止線程一段時間(單位為毫秒)。

【編輯推薦】

  1. 詳細分析VB Update方法
  2. 詳細講解VB開發(fā)IIS應(yīng)用程序
  3. VB ConsoleProgressBar簡單介紹
  4. 描述VB ConsoleProgressBar類
  5. 概述VB 2005新型控制臺
責任編輯:佚名 來源: 慧聰網(wǎng)
相關(guān)推薦

2009-10-12 12:54:58

VB.NET聲明API

2009-10-15 15:04:42

VB.NET PadL

2009-10-13 17:16:40

VB.NET Web服

2009-10-20 14:21:55

VB.NET fnSi

2009-10-10 16:44:52

VB.NET開發(fā)控件

2010-01-18 18:06:07

VB.NET多線程

2009-10-23 09:26:09

VB.NET多線程

2009-10-16 11:02:40

VB調(diào)用動態(tài)連接庫

2009-10-19 14:22:13

VB.NET EIF體

2009-10-20 14:09:05

VB.NET反射功能

2009-10-27 12:06:01

VB.NET IDis

2010-01-08 10:48:05

VB.NET多線程

2009-10-20 10:59:32

VB.NET編程

2009-10-28 09:55:29

VB.NET MyCl

2009-10-15 09:02:19

VB.NET申明數(shù)組

2009-10-14 13:56:05

VB.NET數(shù)據(jù)窗體

2009-10-13 09:33:49

VB.NET Web

2009-10-30 11:20:54

VB.NET Proc

2009-10-20 10:23:08

VB.NET多線程編程

2009-10-27 12:20:06

VB.NET多線程應(yīng)用
點贊
收藏

51CTO技術(shù)棧公眾號