当前位置:  技术问答>linux和unix

linux posix信号量使用疑问

    来源: 互联网  发布时间:2017-03-02

    本文导语:  首先用一个进程创建信号量,初始值设置为1,两个进程使用这个信号量访问共享资源: // Create semaphore sem_t * sem; sem = sem_open( SEM_NAME, OPEN_FLAG, OPEN_MODE, 1 ); if( SEM_FAILED == sem ) {     fprintf(stdout, "ERROR: Create ...

首先用一个进程创建信号量,初始值设置为1,两个进程使用这个信号量访问共享资源:
// Create semaphore
sem_t * sem;
sem = sem_open( SEM_NAME, OPEN_FLAG, OPEN_MODE, 1 );
if( SEM_FAILED == sem )
{
    fprintf(stdout, "ERROR: Create semaphore...n");
    exit(0);
}


两个进程使用上述创建的信号量

process1:

sem_t * sem = sem_open(SEM_NAME, 0);
if(sem != SEM_FAILED)
{
    sem_wait(sem);
}
// some operation

sem_post(sem);
usleep(500000);


process2:

sem_t * sem = sem_open(SEM_NAME, 0);
if(sem != SEM_FAILED)
{
    sem_wait(sem);
}
// some operation

sem_post(sem);
usleep(300000);



我的问题是:这两个进程可以同时获取信号量。我明明在创建的时候把信号量的值设置成1了啊。

|


是楼主糊涂了还是我糊涂了。

some operation是阻塞操作还是怎么了?

进程1睡的时候进程2不就可以跑了吗,这不都是一瞬间的事情吗。

    
 
 

您可能感兴趣的文章:

  • 在linux下怎么使用信号量?
  • linux 中信号量的使用 当信号初始化的时候设置的值大于1将是如何?
  • 关于Linux下的信号量
  • 请问下,在嵌入式linux驱动里面可不可以用信号量?
  • linux中信号量实现原理
  • linux下信号量的释放的问题
  • linux服务器中,php页面中信号量锁住的问题,在线等
  • 在linux下有没有系统的命令可以看到某个信号量被哪个进程锁定?
  • 靠,Linux提供给应用开发的信号量机制也太复杂了吧
  • 求 思路 信号量控制函数中的线程sleep 100微秒。(linux)
  • 一个关于linux的信号量集的问题
  • linux设备驱动中的信号量机制
  • 求助:linux 用户态 线程同步中信号量、互斥量、锁之间的区别?
  • 关于Linux程序设计中多线程信号量的一个疑问
  • Linux内核信号量和定时器问题请教:
  • linux 下使用信号量编程的问题·~~~~谁能帮帮我啊????
  • linux多线程编程详解教程(线程通过信号量实现通信代码)
  • 学习linux的新手问:linux进程信号掩码以及信号阻塞与信号未决怎么理解?
  • 【求助】linux/Unix下创建子进程,向父进程发送信号,子进程也能收到改信号,此时如何让子进程不收到信号
  • Linux下的信号忽略和信号阻塞是什么意思
  • 请高手指教 linux 信号处理问题
  • linux 信号中断
  • linux 信号 按什么键能发SIGCONT 信号??
  • linux的信号处理函数中如何访问共享资源
  • linux中 关于 进程和信号的问题
  • 如何使用命令行删除Linux下的POSIX有名信号灯
  • linux 下多线程 每个线程能否使用alarm来处理,信号是否会乱呢?
  • 关于linux内核中信号处理的问题?(信号处理的时间)
  • linux多线程信号问题
  • linux下面的信号都已经是"可靠信号"了吗,已经没有了不可靠信号?
  • linux 只有SIGUSR1和SIGUSR2,如果有多个应用程序需要信号,怎么办?
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • 菜鸟的Linux练习疑问……
  • Linux文件系统结构的疑问
  • Linux 初学者的疑问 (各位老鸟进来看看)
  • linux C编程中使用make时对 内部规则的疑问
  • 关于Linux内核的疑问
  • 关于linux runlevel的疑问
  • 由Turbo C 转入 Linux C的疑问
  • linux初学疑问
  • 关于LINUX下图形界面显示字符的疑问
  • linux不做嵌入式的,好找工作吗,疑问中!
  • 关于linux内核链表的疑问
  • 初次装linux前的疑问
  • 新装的Red Hat Linux,想编写C++程序,但有些疑问
  • 阅读linux代码时候的一个小疑问,菜鸟问题,各位多提点,谢谢
  • 关于linux的文件系统的疑问
  • 关于linux内核中用i++不用++i的疑问
  • linux下的top命令疑问
  • 关于linux系统的时钟滴答疑问
  • 基于linux的router和switch的疑问
  • linux下gcc使用疑问?
  • linux c/c++ IP字符串转换成可比较大小的数字
  • 在win分区上安装linux和独立分区安装linux有什么区别?可以同时安装吗?(两个linux系统)
  • linux哪个版本好?linux操作系统版本详细介绍及选择方案推荐
  • 在虚拟机上安装的linux上,能像真的linux系统一样开发linux程序么?
  • secureCRT下Linux终端汉字乱码解决方法
  • 我重装window后,把linux的引导区覆盖了,进不了linux怎么办?急啊,望热心的人帮助 (现在有linux的盘)
  • Linux c字符串中不可打印字符转换成16进制
  • 安装vmware软件,不用再安装linux系统,就可以模拟linux系统了,然后可以在其上学习一下LINUX下的基本操作 了?
  • Linux常用命令介绍:更改所属用户群组或档案属性
  • 红旗Linux主机可以通过127.0.0.1访问,但如何是连网的Win2000机器通过Linux的IP去访问Linux
  • linux命令大全详细分类介绍及常用linux命令文档手册下载


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3