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
    来源:知乎
    著作权归作者所有,转载请联系作者获得授权。

  • 相关阅读:
    open stack总结
    Nginx操作命令
    Nginx 配置详解
    Linux 常用命令-- top
    CEPH 使用SSD日志盘+SATA数据盘, 随OSD数目递增对性能影响的递增测试
    MyCat水平分库
    MyCat垂直分库
    MyCat基本知识
    utf8mb4复杂昵称问题
    Power安装linux-BIG ENDIAN mysql编译安装
  • 原文地址:https://www.cnblogs.com/startnow/p/6067345.html
Copyright © 2011-2022 走看看