日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 >

c# 多线程多个参数

發布時間:2025/7/14 47 豆豆
生活随笔 收集整理的這篇文章主要介紹了 c# 多线程多个参数 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

for (int i = 0; i <count; 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);
}
}
}
}

?

轉載于:https://www.cnblogs.com/dqh123/p/11568942.html

《新程序員》:云原生和全面數字化實踐50位技術專家共同創作,文字、視頻、音頻交互閱讀

總結

以上是生活随笔為你收集整理的c# 多线程多个参数的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。