c#多线程多个参数
- 格式:pdf
- 大小:34.82 KB
- 文档页数:2
c#多线程多个参数
for (int i = 0; i { thread = new Thread(new ParameterizedThreadStart(Run)); thread.Name = Convert.ToString(i); thread.IsBackground = true; //将线程转为后台线程 thread.Start(GetPortNames[i]); //传⼊串⼝号 } public void Run(object serialName) { ConnectParams[] comm =null; sp1 = new SerialPort(); sp1.PortName = serialName.ToString();//设置串⼝名 sp1.BaudRate = 19200; //波特率 sp1.DataBits = 8; //数据位 sp1.StopBits = StopBits.One;//停⽌位 sp1.Parity = Parity.None; //校验位 sp1.DtrEnable = true;//准备就绪 sp1.RtsEnable = true; sp1.ReadTimeout = 1000;//设置数据读取超时为1秒 DevType = "流量计"; var cnn = new ConnectParams(); cnn.portName = sp1.PortName; cnn.ComStarte = starte; DataTable dt = new DataTable(); dt.Columns.Add("sp1.PortName", typeof(object)); dt.Columns.Add("ComStarte", typeof(object)); //dt.Columns.Add("SerialPort", typeof(object)); DataRow dr1 = dt.NewRow(); try { if (sp1.IsOpen) { sp1.Close(); } sp1.Open(); if (sp1.IsOpen) { // starte = "打开"; dr1[0] = sp1.PortName; dr1[1] = "打开"; //dr1[2] = sp1; //dt.Rows.Add(dr1); // comm = ConnectParams.GetComToDevParamsList(null, sp1.PortName, sp1.BaudRate, 0, starte); } //else //{ // dr1[1] = "关闭"; // //dt.Rows.Add(dr1); //} } catch (Exception ex) { sp1.Close(); starte = "关闭"; dt.Rows.Add(dr1); //comm = ConnectParams.GetComToDevParamsList(null, sp1.PortName, sp1.BaudRate, 0, starte); return; } this.Invoke((EventHandler)delegate { dt.Rows.Add(dr1);dataGridView1.DataSource = dt; }); } 2. 多个参数 using System; using System.IO; using System.Text; using System.Threading; namespace ConsoleApp7 { class Program { static void Main(string[] args) { for (int i = 0; i < 10; i++) { MyThread myThread = new MyThread(); myThread.id = i + 1; myThread.name = "张三" + i; myThread.money = 1000 + i; Thread thread = new Thread(myThread.ThreadMain); thread.Start(); } Console.ReadLine(); } public class MyThread { public int id { set; get; } public int money { set; get; } public string name { set; get; } public void ThreadMain() { int threadId = Thread.CurrentThread.ManagedThreadId; Console.WriteLine("线程ID {0} {1} {2} {3}", threadId, id, money, name); } } } }