sem_init和sema_init之间的区别

时间:2010-07-05 10:38:26

标签: linux embedded operating-system semaphore rtos

sema_init和sem_init有什么区别?各个API是否有任何特定的使用场景和其他依赖关系?

2 个答案:

答案 0 :(得分:3)

  • sema_init来自Solaris 线程库。
  • sem_init来自Posix pthread 库。

请参阅Threads: Basic Theory and Libraries

答案 1 :(得分:3)

由于你用“linux”标记了这个,我会忽略其他的Unix。

sema_init是Linux内核计数信号量实现初始化函数 sem_init是Posix线程库的初始化器(因此被用户空间代码使用)。