多线程同步并发执行for循环如何的问题

mirroatl147 2013-09-08 09:23:40
可能上千个数 。。。
int str_a[3] = {0};

for(int i = 0;i<3;i++)
{
//加一个临界区好吗 ?要保持str_a的值是 0,1,2
str_a[i] = i;
}

...全文
1613 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
zpc38368330 2013-09-08
  • 打赏
  • 举报
回复
你这段代码是一个线程里的吗?str是线程内变量还是全局变量?如果是全局变量,在for循环外加临界区可保证012,不过我看不出这有什么意义
  • 打赏
  • 举报
回复
你的str_a数组会被改成什么其他值? 你既然不希望它被改成0,1,2之外的值 那你干嘛还要在外面改他呢? 你这个循环是不是说有不止一处循环在修改str_a数组的值?

15,471

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 进程/线程/DLL
社区管理员
  • 进程/线程/DLL社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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