当前时区为 UTC + 8 小时



发表新帖 回复这个主题  [ 6 篇帖子 ] 
作者 内容
1 楼 
 文章标题 : [问题]<semaphore.h> or <sys/sem.h>? <已解决>
帖子发表于 : 2007-04-02 21:13 
头像

注册: 2006-06-06 22:56
帖子: 80
送出感谢: 0 次
接收感谢: 0 次
我最近在研究UNIX的信号量机制时碰到了这个问题:是使用<sys/sem.h>的信号量,还是使用<semaphore.h>?
'Advanced Programming in the UNIX' 第二版中,只介绍了使用<sys/sem.h>,但是却说,这个信号量机制过于复杂,而且存在一个严重的缺陷——信号量的创建和初始化不是原始操作。
我请问:现在的开发中是不是使用<semaphore.h>所提供的信号量机制,和更简单的sem_t 信号量原型?


最后由 diabloneo 编辑于 2007-04-05 19:32,总共编辑了 1 次

页首
 用户资料  
 
2 楼 
 文章标题 :
帖子发表于 : 2007-04-02 23:07 
头像

注册: 2005-10-25 11:15
帖子: 1016
送出感谢: 0 次
接收感谢: 1
代码:
$ man sem_overview
NOTES
       System V semaphores (semget(2), semop(2), etc.) are an older  semaphore
       API.  POSIX semaphores provide a simpler, and better designed interface
       than System V semaphores; on the other hand POSIX semaphores  are  less
       widely   available   (especially   on  older  systems)  than  System  V
       semaphores.


就我所了解的,现在的开发中进程间需要用到信号量来同步/互斥的并不多见,线程间的则主要用pthread的mutex和conditional variable,它们要更方便一些。


页首
 用户资料  
 
3 楼 
 文章标题 :
帖子发表于 : 2007-04-03 0:14 
头像

注册: 2006-06-06 22:56
帖子: 80
送出感谢: 0 次
接收感谢: 0 次
谢谢。不过我的系统中只有 sem_overview 的文档, 怎么获取其他文档呢?还有 sem_wait等。


页首
 用户资料  
 
4 楼 
 文章标题 :
帖子发表于 : 2007-04-03 0:22 
头像

注册: 2005-10-25 11:15
帖子: 1016
送出感谢: 0 次
接收感谢: 1
代码:
sudo apt-get install manpages-dev


页首
 用户资料  
 
5 楼 
 文章标题 :
帖子发表于 : 2007-04-24 17:23 

注册: 2007-03-19 10:49
帖子: 11
送出感谢: 0 次
接收感谢: 0 次
关于posix中semaphore的使用
推荐看
http://mia.ece.uic.edu/~papers/WWW/book ... CU_010.HTM

我对于使用semaphore 还是使用 mutex和conditional variable的组合,这两种方式的应用场合总有些困惑。觉得它们没有专属的应用场合,通常都是可替换。


页首
 用户资料  
 
6 楼 
 文章标题 :
帖子发表于 : 2007-04-26 17:52 
头像

注册: 2006-06-06 22:56
帖子: 80
送出感谢: 0 次
接收感谢: 0 次
现在感觉用多线程编程的话,用mutex和cond的组合就能工作得很好了。


页首
 用户资料  
 
显示帖子 :  排序  
发表新帖 回复这个主题  [ 6 篇帖子 ] 

当前时区为 UTC + 8 小时


在线用户

正在浏览此版面的用户:没有注册用户 和 4 位游客


不能 在这个版面发表主题
不能 在这个版面回复主题
不能 在这个版面编辑帖子
不能 在这个版面删除帖子
不能 在这个版面提交附件

前往 :  
本站点为公益性站点,用于推广开源自由软件,由 DiaHosting VPSBudgetVM VPS 提供服务。
我们认为:软件应可免费取得,软件工具在各种语言环境下皆可使用,且不会有任何功能上的差异;
人们应有定制和修改软件的自由,且方式不受限制,只要他们自认为合适。

Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
简体中文语系由 王笑宇 翻译