av激情亚洲男人的天堂国语,日韩欧美精品一中文字幕,无码av一区二区三区无码,国产又色又爽又刺激的a片,国产又色又爽又刺激的a片

C#多線程啟動(dòng)Square描述

學(xué)習(xí)C#語(yǔ)言時(shí),經(jīng)常會(huì)遇到C#多線程啟動(dòng)Square問(wèn)題,這里將介紹C#多線程啟動(dòng)Square問(wèn)題的解決方法。

淅川ssl適用于網(wǎng)站、小程序/APP、API接口等需要進(jìn)行數(shù)據(jù)傳輸應(yīng)用場(chǎng)景,ssl證書(shū)未來(lái)市場(chǎng)廣闊!成為創(chuàng)新互聯(lián)的ssl證書(shū)銷售渠道,可以享受市場(chǎng)價(jià)格4-6折優(yōu)惠!如果有意向歡迎電話聯(lián)系或者加微信:18980820575(備注:SSL證書(shū)合作)期待與您的合作!

在實(shí)際工作中,還需要使用到C#多線程的許多復(fù)雜特性。其中一個(gè)問(wèn)題就是如何將程序的數(shù)據(jù)由線程類的構(gòu)造器傳入或者傳出。對(duì)于放到另外一個(gè)線程中的過(guò)程,既不能傳參數(shù)給它,也不能由它返回值,因?yàn)閭魅氲骄€程構(gòu)造器的過(guò)程是不能擁有任何參數(shù)或者返回值的。為了解決這個(gè)問(wèn)題,可以將過(guò)程封裝到一個(gè)類中,這樣,方法的參數(shù)就可使用類中的字段。

本文給出了一個(gè)簡(jiǎn)單的例子,計(jì)算一個(gè)數(shù)的平方。為了在一個(gè)新的線程中使用這個(gè)過(guò)程,將它封裝到一個(gè)類中,在一個(gè)新的C#多線程啟動(dòng)Square過(guò)程。

 
 
 
  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();  

在上述例子中,線程啟動(dòng)后,并沒(méi)有檢查類中的square值,因?yàn)榧词拐{(diào)用了線程的start方法,也不能確保其中的方法馬上執(zhí)行完。要從另一個(gè)線程中得到需要的值,有幾種方法,其中一種方法就是在線程完成的時(shí)候觸發(fā)一個(gè)事件。下面所示的代碼為SquareClass加入了事件聲明。

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

對(duì)于這種方法,要注意的是事件處理程序SquareEventHandler運(yùn)行在產(chǎn)生該事件的線程t2中,而不是運(yùn)行在窗體執(zhí)行的線程中。以上介紹C#多線程啟動(dòng)Square。


當(dāng)前題目:C#多線程啟動(dòng)Square描述
網(wǎng)站地址:http://uogjgqi.cn/article/djpiccg.html
掃二維碼與項(xiàng)目經(jīng)理溝通

我們?cè)谖⑿派?4小時(shí)期待你的聲音

解答本文疑問(wèn)/技術(shù)咨詢/運(yùn)營(yíng)咨詢/技術(shù)建議/互聯(lián)網(wǎng)交流