.NET多线程编程(7)——C#多线程编程传递参数解决方案
生活随笔
收集整理的這篇文章主要介紹了
.NET多线程编程(7)——C#多线程编程传递参数解决方案
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
在寫多線程時候往往委托思路方法不能傳遞參數但是我就遇到了個問題線程委托思路方法必須要傳遞參數我有多個線程而多個線程所注冊思路方法體基本上都是樣只有幾個變量值不樣我也不想寫什么思路方法。
?????? 1{……} ; 思路方法2{……} 思路方法3{……}等等我線程有可能是100個或者是更多所以我放棄了這種思路方法想用個思路方法然后向里面扔參數去用循環搞定它這樣才能表現出精簡型和優秀員作風于是我上網查閱了些資料并且和同事交流了下得出個解決方案:
首先~線程類里定義個變量然后再線程委托思路方法體內也定義個變量當然這個變量就是你千方百計想要
穿進去然后思路方法體內第句話就是 "思路方法體變量 = 類變量" ; 用個循環去啟動這些線程而且這些線程同樣
都去注冊這個思路方法體
關鍵代碼部分:
for ( i = 0; i < _MAXSERVER; i)
{
類變量= (ServerBean)serverState[i];//類變量賦值
Thread th = Thread( ThreadStart(ScanPort));//ScanPort是我個思路方法體
th.Start;
Thread.Sleep(10);//這里睡上10秒是為了讓啟動這個線程有足夠時間去執行它第句
賦值語句
}
好了大體思路就是這樣~~有不明白或遇到同樣問題可以討論討論
本文轉自 qianshao 51CTO博客,原文鏈接:http://blog.51cto.com/qianshao/203204,如需轉載請自行聯系原作者
?????? 1{……} ; 思路方法2{……} 思路方法3{……}等等我線程有可能是100個或者是更多所以我放棄了這種思路方法想用個思路方法然后向里面扔參數去用循環搞定它這樣才能表現出精簡型和優秀員作風于是我上網查閱了些資料并且和同事交流了下得出個解決方案:
首先~線程類里定義個變量然后再線程委托思路方法體內也定義個變量當然這個變量就是你千方百計想要
穿進去然后思路方法體內第句話就是 "思路方法體變量 = 類變量" ; 用個循環去啟動這些線程而且這些線程同樣
都去注冊這個思路方法體
關鍵代碼部分:
for ( i = 0; i < _MAXSERVER; i)
{
類變量= (ServerBean)serverState[i];//類變量賦值
Thread th = Thread( ThreadStart(ScanPort));//ScanPort是我個思路方法體
th.Start;
Thread.Sleep(10);//這里睡上10秒是為了讓啟動這個線程有足夠時間去執行它第句
賦值語句
}
好了大體思路就是這樣~~有不明白或遇到同樣問題可以討論討論
本文轉自 qianshao 51CTO博客,原文鏈接:http://blog.51cto.com/qianshao/203204,如需轉載請自行聯系原作者
總結
以上是生活随笔為你收集整理的.NET多线程编程(7)——C#多线程编程传递参数解决方案的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 瓜子二手车:二手车大流通新政1年,推动二
- 下一篇: 显卡DLSS技术是什么意思 RTX显卡的