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

c#線程間傳遞參數(shù)詳解

 更新時間:2014年01月22日 09:23:51   作者:  
本篇文章主要是對c#中的線程間傳遞參數(shù)進行了詳細的介紹,需要的朋友可以過來參考下,希望對大家有所幫助

線程操作主要用到Thread類,他是定義在System.Threading.dll下。使用時需要添加這一個引用。該類提供給我們四個重載的構(gòu)造函數(shù)(以下引自msdn)。

Thread (ParameterizedThreadStart)  初始化 Thread 類的新實例,指定允許對象在線程啟動時傳遞給線程的委托。 
Thread (ThreadStart)  初始化 Thread 類的新實例。 

Thread (ParameterizedThreadStart, Int32)  初始化 Thread 類的新實例,指定允許對象在線程啟動時傳遞給線程的委托,并指定線程的最大堆棧大小。 
Thread (ThreadStart, Int32)  初始化 Thread 類的新實例,指定線程的最大堆棧大小。

我們?nèi)绻x不帶參數(shù)的線程,可以用ThreadStart;帶一個參數(shù)的用ParameterizedThreadStart。帶多個參數(shù)的用另外的方法,下面逐一講述。

一、不帶參數(shù)的

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

using System;
using System.Collections.Generic;
using System.Text;
using System.Threading;

namespace AAAAAA
{
    class AAA
    {
        public static void Main()
        {
            Thread t = new Thread(new ThreadStart(A));
            t.Start();

            Console.Read();
        }

        private static void A()
        {
            Console.WriteLine("Method A!");
        }
    }
}


二、帶一個參數(shù)的
由于ParameterizedThreadStart要求參數(shù)類型必須為object,所以定義的方法B形參類型必須為object。
復(fù)制代碼 代碼如下:

using System;
using System.Collections.Generic;
using System.Text;
using System.Threading;

namespace AAAAAA
{
    class AAA
    {
        public static void Main()
        {       
            Thread t = new Thread(new ParameterizedThreadStart(B));
            t.Start("B");

            Console.Read();
        }

        private static void B(object obj)
        {
            Console.WriteLine("Method {0}!",obj.ToString ());

        }
    }
}


結(jié)果顯示Method B!

三、帶多個參數(shù)的
由于Thread默認只提供了這兩種構(gòu)造函數(shù),如果需要傳遞多個參數(shù),我們可以自己將參數(shù)作為類的屬性。定義類的對象時候?qū)嵗@個屬性,然后進行操作。

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

using System;
using System.Collections.Generic;
using System.Text;
using System.Threading;

namespace AAAAAA
{
    class AAA
    {
        public static void Main()
        {
            My m = new My();
            m.x = 2;
            m.y = 3;

            Thread t = new Thread(new ThreadStart(m.C));
            t.Start();

            Console.Read();
        }
    }

    class My
    {
        public int x, y;

        public void C()
        {
            Console.WriteLine("x={0},y={1}", this.x, this.y);
        }
    }
}


結(jié)果顯示x=2,y=3

四、利用結(jié)構(gòu)體給參數(shù)傳值。
定義公用的public struct結(jié)構(gòu)體,里面可以定義自己需要的參數(shù),然后在需要添加線程的時候,可以定義結(jié)構(gòu)體的實例。

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

//結(jié)構(gòu)體
  struct RowCol
    {
        public int row;
        public int col;
    };

//定義方法
public void Output(Object rc)
        {
            RowCol rowCol = (RowCol)rc;
            for (int i = 0; i < rowCol.row; i++)
            {
                for (int j = 0; j < rowCol.col; j++)
                    Console.Write("{0} ", _char);
                Console.Write("/n");
            }
        }

相關(guān)文章

  • C#靜態(tài)構(gòu)造函數(shù)用法實例分析

    C#靜態(tài)構(gòu)造函數(shù)用法實例分析

    這篇文章主要介紹了C#靜態(tài)構(gòu)造函數(shù)用法,以實例形式較為詳細的分析了C#靜態(tài)構(gòu)造函數(shù)的用途、實現(xiàn)方法及使用技巧,需要的朋友可以參考下
    2015-06-06
  • C#中枚舉的特性 FlagAttribute詳解

    C#中枚舉的特性 FlagAttribute詳解

    說到FlagsAttribute,源自前幾天看到了一小段代碼,大概意思就是根據(jù)航班政策來返回哪些配送方式是否可用,根據(jù)這些是否可用來隱藏或者開啟界面的相關(guān)配送方式,不是非常明白,于是今天我們就來詳細探討下這個問題
    2018-03-03
  • C#對文件進行批量重命名或者對某單個文件進行改名的示例代碼

    C#對文件進行批量重命名或者對某單個文件進行改名的示例代碼

    這篇文章主要介紹了C#對文件進行批量重命名或者對某個單獨的文件進行改名的實現(xiàn)方法,文中有相關(guān)的代碼示例供大家參考,具有一定的參考價值,需要的朋友可以參考下
    2024-05-05
  • 解決Unity項目中UI腳本丟失的問題

    解決Unity項目中UI腳本丟失的問題

    這篇文章主要介紹了解決Unity項目中UI腳本丟失的問題,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2021-04-04
  • c#基于winform制作音樂播放器

    c#基于winform制作音樂播放器

    這篇文章主要介紹了c#基于winform制作音樂播放器的方法,幫助大家更好的理解和學(xué)習(xí)使用c#,感興趣的朋友可以了解下
    2021-03-03
  • C# 16進制與字符串、字節(jié)數(shù)組之間的轉(zhuǎn)換

    C# 16進制與字符串、字節(jié)數(shù)組之間的轉(zhuǎn)換

    在串口通訊過程中,經(jīng)常要用到 16進制與字符串、字節(jié)數(shù)組之間的轉(zhuǎn)換
    2009-05-05
  • C# Nullable的使用小結(jié)

    C# Nullable的使用小結(jié)

    本文主要介紹了C# Nullable的使用小結(jié),文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-07-07
  • C#自定義集合初始化器

    C#自定義集合初始化器

    這篇文章介紹了C#自定義集合初始化器的方法,文中通過示例代碼介紹的非常詳細。對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2022-07-07
  • C#超市收銀系統(tǒng)設(shè)計

    C#超市收銀系統(tǒng)設(shè)計

    這篇文章主要為大家詳細介紹了C#超市收銀系統(tǒng)設(shè)計,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-06-06
  • Unity實現(xiàn)背景圖片淡入淡出效果

    Unity實現(xiàn)背景圖片淡入淡出效果

    這篇文章主要為大家詳細介紹了Unity實現(xiàn)背景圖片淡入淡出,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2019-02-02

最新評論

巩义市| 大理市| 冀州市| 榕江县| 石台县| 司法| 永嘉县| 繁峙县| 临漳县| 方山县| 丹东市| 信宜市| 繁昌县| 杂多县| 十堰市| 九龙城区| 睢宁县| 维西| 普洱| 丹寨县| 印江| 睢宁县| 安丘市| 襄汾县| 札达县| 呈贡县| 崇州市| 都安| 介休市| 兴国县| 大兴区| 巴彦淖尔市| 玉屏| 奇台县| 潜江市| 林芝县| 公主岭市| 余干县| 广河县| 怀宁县| 玛曲县|