zoukankan      html  css  js  c++  java
  • posix和system v有什么区别/?

    posix和system v有什么区别/?现在在应用时应用那一标准
    浮云484212 | 浏览 243 次 2014-11-06 10:36
    2014-11-19 22:36 最佳答案
    们是有关信号量的两组程序设计接口函数。POSIX信号量来源于POSIX技术规范的实时扩展方案(POSIX Realtime Extension),常用于线程;system v信号量,常用于进程的同步。这两者非常相近,但它们使用的函数调用各不相同。前一种的头文件为semaphore.h,函数调用为sem_init(),sem_wait(),sem_post(),sem_destory()等等。后一种头文件为<sys/sem.h>,函数调用为semctl(),semget(),semop()等函数。
    这也是我在论坛里看到的,希望对你有所帮助。

    POSIX sem 实现是基于futex的。 在无竞争条件下,不需要陷入内核,执行系统调用,
    其实现是非常轻量级的。
    System V sem 则不同,无论有无竞争都要执行系统调用,因此性能落了下风。

    POSIX sem 由于没有事事烦扰内核,
    所以内核也无法帮他记录 sem_adj ,即POSIX sem 并没有UNDO(回滚)功能。


    作者:Bean Lee
    链接:https://www.zhihu.com/question/35169528/answer/69119464
    来源:知乎
    著作权归作者所有,转载请联系作者获得授权。

  • 相关阅读:
    Python学习笔记9:变量作用域和列表
    Python文摘:argmin/argmax 与 idxmin/idxmax
    SQL学习笔记8
    SQL学习笔记7
    SQL学习笔记6
    SQL学习笔记5
    SQL文摘:sql(join中on与where区别)
    SQL学习笔记4
    SQL学习笔记3
    机器学习基石第三讲 Types of Learning
  • 原文地址:https://www.cnblogs.com/startnow/p/6067345.html
Copyright © 2011-2022 走看看