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

C#多線程啟動Square描述

開發 后端
這里介紹C#多線程啟動Square,在實際工作中,還需要使用到C#多線程的許多復雜特性。其中一個問題就是如何將程序的數據由線程類的構造器傳入或者傳出。

學習C#語言時,經常會遇到C#多線程啟動Square問題,這里將介紹C#多線程啟動Square問題的解決方法。

在實際工作中,還需要使用到C#多線程的許多復雜特性。其中一個問題就是如何將程序的數據由線程類的構造器傳入或者傳出。對于放到另外一個線程中的過程,既不能傳參數給它,也不能由它返回值,因為傳入到線程構造器的過程是不能擁有任何參數或者返回值的。為了解決這個問題,可以將過程封裝到一個類中,這樣,方法的參數就可使用類中的字段。

本文給出了一個簡單的例子,計算一個數的平方。為了在一個新的線程中使用這個過程,將它封裝到一個類中,在一個新的C#多線程啟動Square過程。

  1. public class SquareClass  
  2. {  
  3. publicdouble Value;  
  4. public double Square;  
  5. public void CalcSquare()  
  6. {  
  7. Square = Value * Value;  
  8. }  
  9. }  
  10. private void button1_Click(object sender, System.EventArgs e)  
  11. {  
  12. SquareClass oSquare =new SquareClass();  
  13. t2 = new Thread(new ThreadStart(oSquare.CalcSquare));  
  14. oSquare.Value = 30;  
  15. t2.Start();  

在上述例子中,線程啟動后,并沒有檢查類中的square值,因為即使調用了線程的start方法,也不能確保其中的方法馬上執行完。要從另一個線程中得到需要的值,有幾種方法,其中一種方法就是在線程完成的時候觸發一個事件。下面所示的代碼為SquareClass加入了事件聲明。

  1. public delegate void EventHandler(double sq);//說明委派類型  
  2. public class SquareClass  
  3. {  
  4. publicdouble Value;  
  5. public double Square;  
  6. public event EventHandler ThreadComplete;//說明事件對象  
  7. public void CalcSquare()  
  8. {  
  9. Square = Value * Value;  
  10. //指定事件處理程序  
  11. ThreadComplete+=new EventHandler(SquareEventHandler);  
  12. if( ThreadComplete!=null)ThreadComplete(Square);//觸發事件  
  13. }  
  14. public static void SquareEventHandler(doubleSquare )  
  15. //定義事件處理程序  
  16. {   
  17. MessageBox.Show(Square.ToString ());}  

對于這種方法,要注意的是事件處理程序SquareEventHandler運行在產生該事件的線程t2中,而不是運行在窗體執行的線程中。以上介紹C#多線程啟動Square。

【編輯推薦】

  1. C#方法重寫全面介紹
  2. C#流程控制語句簡單描述
  3. Java和C#字符串類型概述
  4. C#訪問修飾符詳細剖析
  5. 選擇C#構造函數描述
責任編輯:佚名 來源: 博客園
相關推薦

2009-09-07 13:02:52

Java和C#線程

2009-08-25 15:09:30

C#線程的啟動

2009-08-12 18:04:44

編寫C#多線程

2024-12-30 06:00:00

C#線程編程

2009-08-28 16:43:57

C#多線程學習

2009-08-13 17:04:09

C#語言C#程序

2009-08-26 18:13:55

C#多線程lock

2011-04-25 14:42:10

C#lock

2024-10-21 16:59:37

C#編程多線程

2009-07-17 10:37:05

C#多線程

2009-08-17 16:56:51

C#多線程控制進度條

2009-08-17 16:32:34

C# Anonymou

2009-08-18 17:41:22

C# ListView

2009-08-31 13:18:09

C# IWebMess

2009-08-26 17:49:36

C# readonly

2009-08-03 18:08:39

C# ICloneab

2009-08-31 18:32:01

C# ListBoxE

2009-08-03 16:45:02

C#異步Socket

2009-08-20 09:30:03

C#開發WinForm

2009-09-01 17:15:42

C#多線程應用
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 久久久久国产一区二区三区不卡 | 亚洲精品1区| 久久久久久久一区二区三区 | 欧美a区 | 性高朝久久久久久久3小时 av一区二区三区四区 | 欧美亚洲激情 | 久久99精品久久久久久国产越南 | 国产精品久久久久久久久久东京 | 精品婷婷 | 久久国产秒 | 91精品国产一区二区三区香蕉 | 在线观看亚洲一区二区 | 伊人伊人伊人 | 精品日韩一区二区 | 欧区一欧区二欧区三免费 | 久久成人国产精品 | 精品国产一区久久 | 一级片免费视频 | 精品一区二区三区在线观看 | 久久精品免费 | 国产伦一区二区三区久久 | 91高清免费 | 亚洲精品免费观看 | 中文字幕免费在线 | 国产成人在线一区二区 | av在线一区二区三区 | 国产三级精品三级在线观看四季网 | 亚洲国产成人精品久久久国产成人一区 | 欧美精品欧美精品系列 | 欧美中国少妇xxx性高请视频 | 国产农村妇女精品一二区 | 亚洲天堂男人的天堂 | 国产视频一视频二 | 午夜精品视频 | 久久99蜜桃综合影院免费观看 | 亚洲精品视频网站在线观看 | 国产一区91精品张津瑜 | 国产亚洲欧美日韩精品一区二区三区 | 午夜影院视频在线观看 | a级毛片毛片免费观看久潮喷 | 一级毛片免费看 |