Chinaunix首页 | 论坛 | 博客
  • 博客访问: 185433
  • 博文数量: 26
  • 博客积分: 1416
  • 博客等级: 上尉
  • 技术积分: 176
  • 用 户 组: 普通用户
  • 注册时间: 2010-07-18 15:59
文章分类
文章存档

2011年(3)

2010年(23)

我的朋友

分类: LINUX

2010-09-16 23:12:57

linux中线程同步和互斥的区别

 
    相交进程之间的关系主要有两种,同步互斥
 
    所谓互斥,是指散步在不同进程之间的若干程序片断,当某个进程运行其中一个程序片段时,其它进程就不能运行它 们之中的任一程序片段,只能等到该进程运行完这个程序片段后才可以运行。
 
    所谓同步,是指散步在不同进程之间的若干程序片断,它们的运行必须严格按照规定的 某种先后次序来运行,这种先后次序依赖于要完成的特定的任务。
 
  显然,同步是一种更为复杂的互斥,而互斥是一种特殊的同步
 
  也就是说互斥是两个线程之间不可以同时运行,他们会相互排斥,必须等待一个线程运行完毕,另一个才能运行,而同步也是不能同时运行,但他是必须要安照某种次序来运行相应的线程(也是一种互斥)!
 
  总结:
    互斥:是指某一资源同时只允许一个访问者对其进行访问,具有唯一性和排它性。但互斥无法限制访问者对资源的访问顺序,即访问是无序的。
  同步:是指在互斥的基础上(大多数情况),通过其它机制实现访问者对资源的有序访问。在大多数情况下,同步已经实现了互斥,特别是所有写入资源的情况必定是互斥的。少数情况是指可以允许多个访问者同时访问资源
 
 
 
 
阅读(2628) | 评论(1) | 转发(0) |
给主人留下些什么吧!~~

chinaunix网友2010-09-17 15:55:51

很好的, 收藏了 推荐一个博客,提供很多免费软件编程电子书下载: http://free-ebooks.appspot.com