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

C#中的多線程多參數(shù)傳遞詳解

 更新時(shí)間:2014年01月22日 09:30:31   作者:  
第一種解決方案的原理是:將線程執(zhí)行的方法和參數(shù)都封裝到一個(gè)類里面。通過實(shí)例化該類,方法就可以調(diào)用屬性來實(shí)現(xiàn)間接的類型安全地傳遞多個(gè)參數(shù)

之前做了一個(gè)小的應(yīng)用程序,用的是c#語言,涉及到了多線程的多參數(shù)傳遞,經(jīng)過查找資料總結(jié)了一下解決方案!

第一種解決方案的原理是:將線程執(zhí)行的方法和參數(shù)都封裝到一個(gè)類里面。通過實(shí)例化該類,方法就可以調(diào)用屬性來實(shí)現(xiàn)間接的類型安全地傳遞多個(gè)參數(shù)。看如下代碼:

復(fù)制代碼 代碼如下:

using System;
using System.Threading;

//ThreadWithState 類里包含了將要執(zhí)行的任務(wù)以及執(zhí)行任務(wù)的方法
public class ThreadWithState {
//要用到的屬性,也就是我們要傳遞的參數(shù)
private string boilerplate;
private int value;

//包含參數(shù)的構(gòu)造函數(shù)
public ThreadWithState(string text, int number)
{
boilerplate = text;
value = number;
}

//要丟給線程執(zhí)行的方法,本處無返回類型就是為了能讓ThreadStart來調(diào)用
public void ThreadProc()
{
//這里就是要執(zhí)行的任務(wù),本處只顯示一下傳入的參數(shù)
Console.WriteLine(boilerplate, value);
}
}


----------分隔線-----------
復(fù)制代碼 代碼如下:

//用來調(diào)用上面方法的類,是本例執(zhí)行的入口
public class Example {
public static void Main()
{
//實(shí)例化ThreadWithState類,為線程提供參數(shù)
ThreadWithState tws = new ThreadWithState(
“This report displays the number {0}.”, 42);

// 創(chuàng)建執(zhí)行任務(wù)的線程,并執(zhí)行
Thread t = new Thread(new ThreadStart(tws.ThreadProc));
t.Start();
Console.WriteLine(“Main thread does some work, then waits.”);
t.Join();
Console.WriteLine(
“Independent task has completed; main thread ends.”);
}
}


從上面的例子就能很清楚的得到我們想要的結(jié)果,注意這句代碼的用法:
Thread t = new Thread(new ThreadStart(tws.ThreadProc));

第二種解決方案的原理是把多個(gè)參數(shù)封裝成object來傳遞,然后在線程里使用時(shí)拆箱即可,看如下代碼:

復(fù)制代碼 代碼如下:

ParameterizedThreadStart ParStart = new ParameterizedThreadStart(ThreadMethod);
Thread myThread = new Thread(ParStart);
object o = “hello”;
myThread.Start(o);

ThreadMethod如下:
public void ThreadMethod(object ParObject)
{
//程序代碼
}

相關(guān)文章

最新評論

桂林市| 岳阳市| 夏津县| 芒康县| 宝应县| 庆安县| 黑河市| 神池县| 鞍山市| 天祝| 衡水市| 论坛| 汾西县| 福海县| 夹江县| 泰宁县| 凌海市| 留坝县| 罗田县| 苏尼特左旗| 阜新市| 南木林县| 永宁县| 即墨市| 淅川县| 文安县| 临桂县| 五台县| 剑阁县| 双城市| 贵德县| 黑龙江省| 三台县| 阜平县| 济宁市| 克山县| 昌宁县| 佛学| 延吉市| 郴州市| 当雄县|