关于多线程对数据容器加锁导致线程阻塞

暗夜流岚 暗夜流岚 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
求助多线程中接收数据用序列接收;在其他线程写出;在这个容器对象加锁;导致前面的接收线程阻塞,数据等待堆积;原因:数据接收频率非常高;求助大神怎么解决

// 数据接收
lock (obj)
{
queue1.Enqueue(new KeyValuePair<int, int>(Points[0], Points[2]));
}

//UI线程
lock (obj)
{
XYData = XYValue.ToList();
}
foreach (var keyValuePair in XYData)
{
lsitX.Add(keyValuePair.Key.ToString());
lsitY.Add(keyValuePair.Value);
}
seriesDraw.Points.DataBindXY(lsitX, lsitY);

...全文

相关推荐

评论 8
收藏 已收藏
分享
返回顶部
暗夜流岚
C# 111,129 成员 642,539 内容