excai

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

2013年6月22日

摘要: Repost from : http://www.ibm.com/developerworks/cn/linux/thread/posix_thread2/index.html互斥我吧!在前一篇文章中,谈到了会导致异常结果的线程代码。两个线程分别对同一个全局变量进行了二十次加一。变量的值最后应该是 40,但最终值却是 21。这是怎么回事呢?因为一个线程不停地“取消”了另一个线程执行的加一操作,所以产生这个问题。现在让我们来查看改正后的代码,它使用互斥对象(mutex)来解决该问题:thread3.c#include #include #include #include int myglobal 阅读全文
posted @ 2013-06-22 10:47 excai 阅读(215) 评论(0) 推荐(0)