摘要: 1. 临界区和竞态条件: 临界区:访问和操作共享数据的代码段; 竞态条件:当有多个线程同时进入临界区时,执行结果取决于线程的执行顺序; 如下述代码,当多个线程同时调用func函数,对共享数据sum进行操作,实际上我们得到的结果则依赖于执行的相对时间; 线程1在a.取出sum值,然后b.对sum+1, 阅读全文
posted @ 2016-03-30 18:05 AlexAlex 阅读(714) 评论(0) 推荐(0)
摘要: 1. 伪共享产生: 在SMP架构的系统中,每个CPU核心都有自己的cache,当多个线程在不同的核心上,并且某线程修改了在同一个cache line中的数据时,由于cache一致性原则,其他核心cache中相同cache line会失效,从而产生cache miss,并重新从内存中读入数据到cach 阅读全文
posted @ 2016-03-30 11:11 AlexAlex 阅读(547) 评论(0) 推荐(0)