最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

C#向線程中傳遞多個參數(shù)的解決方法(兩種)

 更新時間:2016年07月27日 11:02:42   投稿:mrr  
這篇文章主要介紹了C#向線程中傳遞多個參數(shù)的解決方法(兩種)的相關(guān)資料,非常不錯,具有參考借鑒價值,需要的朋友可以參考下

問題:

對于多線程編程,很多時候往往需要向線程中傳遞多個參數(shù),而C#中的線程只接收1個object類型的參數(shù)(如下):

Thread t = new Thread(new ParameterizedThreadStart(newthread));
t.start(參數(shù));
void newthread(object)
{
.............
}

而現(xiàn)在需要往線程中傳遞多個參數(shù),比如method方法想用單獨的線程來跑

void method(int begin,int end)
{
..................
}

解決辦法1:新建一個跑方法的類

class myclass
{
private int begin;
public int begin
{
set{this.begin=value;}
}
private int end;
public int end
{
set{this.end=value;}
}
public run()
{
method(begin,end);
}
private method(int begin,int end)
{
...............
}
}

然后新建一個該類實例,賦值之后就可以跑了,代碼如下;

myclass c = new myclass();
c.begin=100;
c.end=10000;
Thread t = new Thread(new Threadstart(c.run))
t.start();

2、解決方法2:將數(shù)組或集合實例作為參數(shù)傳入

目前正在做一個多線程的軟件,用到了這部分,感覺每次都要新建類,比較麻煩,查了網(wǎng)上主流都是解決方法1中的方法,后來自己琢磨出另一個方法,就是盡管新的線程只能傳1個參數(shù)進去,但是我們可以傳一個集合或者數(shù)組類的參數(shù)進去,這樣就可以解決一次向新線程中傳遞多個參數(shù)的問題了。

同樣,對于上面的method的方法,需要傳遞2個int類型的整數(shù),首先添加一個method方法的重載

void method(object o)
{
//此處對傳進來的參數(shù)進行處理
int[] p = (int[])o;
//調(diào)用原來的method方法
method(p[0],p[1]);
}

再將要傳遞的參數(shù)用數(shù)組或集合方式儲存起來

int para[]=new int[2]{100,10000};

最后新建線程進行調(diào)用

THread t = new Thread(new ParameterizedThreadStart(method))
t.start(para);

這樣就可以達到將2個參數(shù)傳遞入線程的目的了。

傳遞的參數(shù)類型也可以用List<>或其他集合,傳遞進去的這些參數(shù)的類型都是相同的,對于不同的類型,可以考慮采用List<object>或者object[] 的方式傳進去,在重載的方法中再對參數(shù)進行處理即可。

以上所述是小編給大家介紹的C#向線程中傳遞多個參數(shù)的解決方法(兩種) ,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復(fù)大家的。在此也非常感謝大家對腳本之家網(wǎng)站的支持!

相關(guān)文章

  • C#中如何分割字符串

    C#中如何分割字符串

    這篇文章主要介紹了C#中如何分割字符串問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-02-02
  • C#實現(xiàn)動態(tài)創(chuàng)建接口并調(diào)用的實例

    C#實現(xiàn)動態(tài)創(chuàng)建接口并調(diào)用的實例

    這篇文章介紹了C#實現(xiàn)動態(tài)創(chuàng)建接口并調(diào)用,文中通過實例代碼介紹的非常詳細。對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-11-11
  • RabbitMQ的配置與安裝教程全紀錄

    RabbitMQ的配置與安裝教程全紀錄

    這篇文章主要給大家介紹了關(guān)于RabbitMQ的配置與安裝的相關(guān)資料,文中通過示例代碼以及圖文介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2018-07-07
  • 解析c# yield關(guān)鍵字

    解析c# yield關(guān)鍵字

    這篇文章主要介紹了c# yield關(guān)鍵字的相關(guān)資料,文中講解非常細致,代碼幫助大家更好的理解和學(xué)習(xí),感興趣的朋友可以了解下
    2020-08-08
  • 詳解C#中的屬性和屬性的使用

    詳解C#中的屬性和屬性的使用

    這篇文章主要介紹了C#中的屬性和屬性的使用,包括get訪問器和set訪問器等內(nèi)容,需要的朋友可以參考下
    2016-01-01
  • C# SendInput 模擬鼠標操作的實現(xiàn)方法

    C# SendInput 模擬鼠標操作的實現(xiàn)方法

    C# SendInput 模擬鼠標操作的實現(xiàn)方法,需要的朋友可以參考一下
    2013-04-04
  • c#自定義泛型類的實現(xiàn)

    c#自定義泛型類的實現(xiàn)

    本篇文章是對c#中自定義泛型類的實現(xiàn)方法進行了詳細的分析介紹,需要的朋友參考下
    2013-05-05
  • .net4.5使用async和await異步編程實例

    .net4.5使用async和await異步編程實例

    .net4.5使用async和await異步編程實例,大家參考使用吧
    2013-12-12
  • C++泛型編程Generic?Programming的使用

    C++泛型編程Generic?Programming的使用

    本文主要介紹了C++泛型編程Generic?Programming的使用,文中通過示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-12-12
  • C#中同步和異步回調(diào)的實現(xiàn)

    C#中同步和異步回調(diào)的實現(xiàn)

    在C#中,同步回調(diào)和異步回調(diào)都是用于處理任務(wù)或事件完成的機制,本文主要介紹了C#中同步和異步回調(diào)的實現(xiàn),具有一定的參考價值,感興趣的可以了解一下
    2025-04-04

最新評論

平遥县| 乳山市| 巴楚县| 肇东市| 改则县| 博野县| 福州市| 偃师市| 通江县| 房山区| 高青县| 宽城| 锡林郭勒盟| 华宁县| 鄂伦春自治旗| 潼关县| 固阳县| 瑞金市| 太仆寺旗| 泊头市| 左贡县| 高安市| 张掖市| 富锦市| 宽城| 建宁县| 东乡族自治县| 南皮县| 敦化市| 贵定县| 壤塘县| 琼海市| 大港区| 长兴县| 简阳市| 昆明市| 灌阳县| 思茅市| 扎兰屯市| 剑阁县| 阿图什市|