playerken

博客园 首页 新随笔 联系 订阅 管理

2011年10月26日 #

摘要: 线程需要在下面两种情况下互相进行通信:• 当有多个线程访问共享资源而不使资源被破坏时。• 当一个线程需要将某个任务已经完成的情况通知另外一个或多个线程时。原子访问:互锁的函数家族所谓原子访问,是指线程在访问资源时能够确保所有其他线程都不在同一时间内访问相同的资源。编译器生成代码的方法,哪个CPU在执行这个代码,以及主计算机中安装了多少个CPU等因素,决定了产生的结果可能是不同的。InterlockedExchangeAdd函数能够保证值的递增以原子操作方式来完成。所有线程都应该设法通过调用这些函数来修改共享的长变量,任何线程都不应该通过调用简单的C语句来修改共享的变量。还必须保证传递给这些函数 阅读全文
posted @ 2011-10-26 22:03 playerken 阅读(291) 评论(0) 推荐(0) 编辑