排列五开奖号码走势图|排列五开奖公告
首頁 > 編程學習記錄 > c#多線程簡單實列

201511月24

c#多線程簡單實列

作者:admin 0 Comments 發表評論

前段時間就研究了下C#的多線程,但因為后面工作忙,就一直沒有管了,昨天花了兩個小時才看懂原來的源碼。。。。

用我的話說,就是:“三天打魚,三十天曬網。”

純陽說:“網都曬爛了!”

說來慚愧啊,于是乎,今天繼續研究了昨天那段有問題的多線程代碼,原來有問題的代碼如下:

static void Main(string[] args)
{

Thread t = new Thread(Go); ? //注意:這里是實例化一個對象,只實例化了一次而已
int a=1;

while (a < 10)
{

t.Start(); ? ? //這里對已經實例化的對象多次啟動,就會出問題了。
a++;

}
}

static void Go()
{

Console.WriteLine(“hello”);
// Console.ReadKey();

}

通過今天看別人的代碼,搞了個吧多小時才發現原來是只實例化了一次對象,調用start之前,每個對象都要實列化。修改后的代碼如下:

static void Main(string[] args)
{

int a=1;

while (a < 10)
{
Thread t = new Thread(Go); ? ? //每次都實例化了一個對象,然后才是下一句啟動對象的線程。
t.Start();
a++;

}
}

static void Go()
{

Console.WriteLine(“hello”);
// Console.ReadKey();

}

上面的才是正確的,并且每個線程的數據是互不影響的。特此記錄!

補充,多線程需要傳遞參數可以看文章:http://blog.csdn.net/wangzh300/article/details/6969354

推薦閱讀相關文章:編程學習記錄

本文地址:http://www.c7hk.com/cxiancheng.html
版權所有 © 轉載時必須以鏈接形式注明作者和原始出處!

本文目前尚無任何評論.

發表評論

排列五开奖号码走势图