在通信线程中存储1分钟实时数据,
通信线程解析数据包一次40毫秒
一次解析数据包10000个通道
一个通道就是一个结构体
现在是存储一次就要声明一个结构体对象
循环1W个结构体下来时间远远超过40毫秒了
如果处理?
public struct Channel_struct
{
public string pmuid { get; set; }
public string valuse { get; set; }
public string pmuid1{ get; set; }
public string valuse1 { get; set; }
public string pmuid2 { get; set; }
public string valuse2 { get; set; }
public string pmuid3 { get; set; }
public string valuse3 { get; set; }
public string pmuid4 { get; set; }
public string valuse4 { get; set; }
}
public static Channel_struct[][] Channellist1;
public static List<Channel_struct[]> Channellist_data1 = new List<Channel_struct[]>();
Channellist1 = new Channel_struct[3000][];
for (int i = 0; i < 3000; i++)
{
Channellist1[i] = new Channel_struct[9000];
for (int j = 0; j < 9000; j++)
{
Channellist1[i][j].pmuid = j.ToString();
Channellist1[i][j].pmuid1 = j.ToString();
Channellist1[i][j].pmuid2 = j.ToString();
Channellist1[i][j].pmuid3 = j.ToString();
}
}
int num = 0;
while (true)//通信循环监听
{ if (num >= 3000)
{
//Channellist_data1.Remove();
}
if (num >= 3000)
{
for (int i = 0; i < 9000; i++)
{
Channellist1[2999][i].valuse = num.ToString();
}
}
else
{
for (int i = 0; i < 9000; i++)
{
Channellist1[num][i].valuse = num.ToString();
}
}
Channellist_data1.Add(Channellist1[num]);
}
还是没满足要求?
各位请教
num++;
}共享内存
通信线程解析数据包一次40毫秒
一次解析数据包10000个通道
一个通道就是一个结构体
现在是存储一次就要声明一个结构体对象
循环1W个结构体下来时间远远超过40毫秒了
如果处理?
public struct Channel_struct
{
public string pmuid { get; set; }
public string valuse { get; set; }
public string pmuid1{ get; set; }
public string valuse1 { get; set; }
public string pmuid2 { get; set; }
public string valuse2 { get; set; }
public string pmuid3 { get; set; }
public string valuse3 { get; set; }
public string pmuid4 { get; set; }
public string valuse4 { get; set; }
}
public static Channel_struct[][] Channellist1;
public static List<Channel_struct[]> Channellist_data1 = new List<Channel_struct[]>();
Channellist1 = new Channel_struct[3000][];
for (int i = 0; i < 3000; i++)
{
Channellist1[i] = new Channel_struct[9000];
for (int j = 0; j < 9000; j++)
{
Channellist1[i][j].pmuid = j.ToString();
Channellist1[i][j].pmuid1 = j.ToString();
Channellist1[i][j].pmuid2 = j.ToString();
Channellist1[i][j].pmuid3 = j.ToString();
}
}
int num = 0;
while (true)//通信循环监听
{ if (num >= 3000)
{
//Channellist_data1.Remove();
}
if (num >= 3000)
{
for (int i = 0; i < 9000; i++)
{
Channellist1[2999][i].valuse = num.ToString();
}
}
else
{
for (int i = 0; i < 9000; i++)
{
Channellist1[num][i].valuse = num.ToString();
}
}
Channellist_data1.Add(Channellist1[num]);
}
还是没满足要求?
各位请教
num++;
}共享内存
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货