在一个线程中另一个线程共享一个函数实例的线程数

问题描述

| 当我们创建新的实例线程并传递函数
var threaddatatable = new System.Threading.Thread(enqueue);
threaddatatable.Start(dt);
然后将创建该函数的新实例正确。 那么为什么线程要共享变量数据。
public void enqueue(object e)
{
    try
    {            
        DataChangeEventArgs e113 = (DataChangeEventArgs)e;
        resetdatasource();
        for (i=0; i < e113.sts.Length; i++)
        {                           
            int hour113 = e113.sts[i].TimeStampNet.Hour;
            int minute113 = e113.sts[i].TimeStampNet.Minute;
            int second113 = e113.sts[i].TimeStampNet.Second;
            int millisecond113 = e113.sts[i].TimeStampNet.Millisecond;
            int year113 = e113.sts[i].TimeStampNet.Year;
            int month113 = e113.sts[i].TimeStampNet.Month;
            int day113 = e113.sts[i].TimeStampNet.Day;
            DateTime sdate113 = new DateTime(year113,month113,day113,hour113,minute113,second113,millisecond113);

            DaTarow row1 = dt.NewRow();
            row1[\"itemID\"] = e113.sts[i].HandleClient;
            row1[\"paramvalue\"] = convert.ToString(e113.sts[i].DataValue);
            row1[\"date_logged1\"] = sdate113.ToString(\"dd-MM-yyyy HH:mm:ss.fff\");
            row1[\"Quality\"] = e113.sts[i].Quality;
            row1[\"date_logged\"] = DateTime.FromFileTime(e113.sts[i].TimeStamp);
            dt.Rows.Add(row1);
        }
        var threadupdate = new Thread(update);
        threadupdate.Start(dt);
    }
    catch { }
}
public void resetdatasource()
{
    dt = new DataTable();
    DataColumn col1 = new DataColumn(\"itemID\",typeof(int));
    dt.Columns.Add(col1);
    DataColumn col2 = new DataColumn(\"paramvalue\",typeof(string));
    dt.Columns.Add(col2);
    DataColumn col3 = new DataColumn(\"date_logged1\",typeof(string));
    dt.Columns.Add(col3);
    DataColumn col4 = new DataColumn(\"Quality\",typeof(string));
    dt.Columns.Add(col4);
    DataColumn col5 = new DataColumn(\"date_logged\",typeof(DateTime));
    dt.Columns.Add(col5);            
    dt.TableName = \"parameter\";
}
我将其写入,然后将抛出已属于该表的异常行 它将共享数据表 提前致谢。     

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)