LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 942|回复: 8

高手帮忙!

[复制链接]
发表于 2002-11-17 17:35:04 | 显示全部楼层 |阅读模式
关于信号量semaphore的头文件是什么?似乎gcc不带这个头文件,要使用什么编译器啊?就是其中要用的wait()和signal()的那个。另外:critical section怎么定义的?多谢了。
发表于 2002-11-17 18:24:35 | 显示全部楼层
信号量的头文件为:<sys/sem.h>,但还经常用到<sys/types.h>和<sys/ipc.h>。
用gcc编译即可。wait()和signal()是用来协调进程运行的,和信号量semaphore是两码事。关键代码的定义不是一两句话能讲清楚的,建议你好好找本书看看。
 楼主| 发表于 2002-11-18 16:19:01 | 显示全部楼层

thx a lot!but...

信号量是在系统同步中涉及的问题,关于进程间的通讯应该会使用到吧?/usr/include下面那个semaphore.h是干嘛用的?
发表于 2002-11-18 22:10:38 | 显示全部楼层
可以把问题说得更详细一些:信号量有两组程序设计接口函数。一种来源于POSIX技术规范的实时扩展方案(POSIX Realtime Extension),常用于线程;另一种称为System V信号量,常用于进程的同步。这两者非常相近,但它们使用的函数调用各不相同。前一种的头文件为semaphore.h,函数调用为sem_init(),sem_wait(),sem_post(),sem_destory()等等。后一种头文件为<sys/sem.h>,函数调用为semctl(),semget(),semop()等函数。由于名称相同,使用时很容易混淆。希望你多加注意。
 楼主| 发表于 2002-11-22 22:43:08 | 显示全部楼层

继续求教!

请问有些什么好一点的书可以看?关于gnu/linux编程比较详细一点的。多谢啦
发表于 2002-11-23 09:31:36 | 显示全部楼层
作为linux编程入门的书籍,我推荐《linux程序设计设计》(Neil Matthew,Richard Stones著)机械工业出版社出版。看完这本书后,你对linux编程就会有一个大概的了解。
发表于 2003-1-16 16:43:44 | 显示全部楼层
可以看看〈unix高级编程环境〉或〈linux下编程〉duqi1@etang.com
发表于 2003-1-16 16:43:45 | 显示全部楼层
可以看看〈unix高级编程环境〉或〈linux下编程〉duqi1@etang.com
发表于 2003-1-21 06:58:25 | 显示全部楼层
critical section :  临界区   并发进程中在一定时期内 只允许一个进程 使用的资源!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表