请教个暂存数据的情况

zhlym 2011-10-12 11:11:22
如每一组有四个线程, 三个线程各运行后会产生一个数字型值要暂存下来并累加,到第四个线程运行时就要用到这个暂存的数值,第四个线程取到这次的数值后要马上删除属于本次这组的记录值,大家说用什么方式记录这个值好?
...全文
113 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
classbob 2011-10-13
  • 打赏
  • 举报
回复
所有组访问的都是同一个变量?如果不是,那么你像前面那样把线程组和他们的变量封装起来就可以了;如果是,那你就应该在线程组间及组内线程间都做同步处理,可以把变量和组间同步对象以及线程组标识封装起来
风骑士之怒 2011-10-12
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 zhlym 的回复:]
引用 3 楼 classbob 的回复:
class C
{
private volatile int _temp = 0;
threadfunc 1 to 3{ 累加_temp }
threadfunc4{等待线程1到3处理完成,重置_temp}
}


这样会不会 另外一组的线程把上组的线程给初始为0的?如两组线程很短时间内同时运行的话
[/Quote]
用 键值对 来存储,键存储 线程所在组的组名
zhlym 2011-10-12
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 classbob 的回复:]
class C
{
private volatile int _temp = 0;
threadfunc 1 to 3{ 累加_temp }
threadfunc4{等待线程1到3处理完成,重置_temp}
}
[/Quote]

这样会不会 另外一组的线程把上组的线程给初始为0的?如两组线程很短时间内同时运行的话
classbob 2011-10-12
  • 打赏
  • 举报
回复
class C
{
private volatile int _temp = 0;
threadfunc 1 to 3{ 累加_temp }
threadfunc4{等待线程1到3处理完成,重置_temp}
}
zhlym 2011-10-12
  • 打赏
  • 举报
回复
麻烦有经验的朋友指点一下
classbob 2011-10-12
  • 打赏
  • 举报
回复
volatile

110,532

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧