摘要: 通常在涉及到多线程和多进程操作共享数据时候,不可避免的会涉及到公共数据的互斥访问,可能会用到互斥锁,事件,信号量等,然而在使用这些锁机制的同时肯定会降低系统的并发性,同时如果使用不当可能还会造成一些死锁等很让人反感的问题。其实大部分时候可以通过一些细节的设计来避免锁机制,共享数据的互斥访问总的来说可以分为以下两种:1、同时修改先来个例子说明下同时修改数据造成数据不一致的问题:假设有A,B两个进程对共享内存中的变量m = 10进行自加运算,当A进程将变量m = 10从内存读入cpu的寄存器后,这时B进程也将m = 10读入寄存器,那么A进程加运算得到11,B进程也读入10得到11,最终A和B.. 阅读全文
posted @ 2013-11-02 21:26 JiangWang 阅读(4232) 评论(0) 推荐(0) 编辑