C#多線程學習筆記(二)——帶參數的多線程


 1         Thread t;
 2         public myThread()
 3         {
 4             t = new Thread(run);
 5             t.Start(2); //這里吧參數傳遞進去
 6             t.Join();
 7             
 8         }
 9         static void run(object obj) //帶參數的run函數
10         {
11             int a = (int)obj;
12             Console.WriteLine(a);
13 
14         }

這種方法只能傳遞一個單數,當然多個參數可以封裝成一個結構體傳進去,但是不是好的方法

可以講要進行元算的元素封裝成一個類,然后在然后對這個類進行初始化,最用在線程中調用這個類的函數即可

 1 namespace ThreadPara
 2 {
 3     class myThread //直接傳參數進去
 4     {
 5         Thread t;
 6         public myThread()
 7         {
 8             t = new Thread(run);
 9             t.Start(2);
10             t.Join();
11             
12         }
13         static void run(object obj)
14         {
15             int a = (int)obj;
16             Console.WriteLine(a);
17 
18         }
19     }
20     class MyThreadfun
21     {
22         public int a;
23         public int b; //通過公共成員來賦值
24         public void fun()
25         {
26             int c = a + b;
27             Console.WriteLine(c);
28         }
29 
30     }
31     class Program
32     {
33         static void Main(string[] args)
34         {
35             myThread mt = new myThread();
36             MyThreadfun fun = new MyThreadfun();
37             Thread t = new Thread(fun.fun);
38             fun.a = 2;
39             fun.b = 3;
40             t.Start();
41 
42         }
43     }
44 }
MyThreadfun 就是講a b連個參數封裝成一類,然后對其進行初始化,最后在線程中調用類中的方法即可。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM