zoukankan      html  css  js  c++  java
  • 进程间通信

    1、管道 pipe(int  fds[2])

         主进程建立管道,然后fork,然后父子进程对同一个管道进行读或写操作

    2、通过管道实现执行某个shell命令,并且把执行进程的标准输出或输入返回

        FILE * fp=popen('cmdString','type')

         pclose(fp)

    3、命名管道FIFO

         读会在写打开的管道上阻塞,写会在读打开的管道上阻塞。

         多个写在打开一个的读管道上阻塞,最后一个写进程关闭时,会给读管道发送文件结束标记。

         最后一个引用管道进程结束,管道也会删除。

    4、IPC内核对象的缺点

        1)无引用计数,不会自动删除

        2)消息队列,新的应用不建议使用,设计初始是为了告诉IPC,现在与管道比没有差异了。

        3)信号量就是资源计数器,需要在调用sem_op时,指定UNDO,便于进程终止时,释放资源。

              加锁时,推荐使用记录锁

             --信号量、互斥锁、记录锁,互斥最高;记录次,信号量最低,推荐使用记录锁   4)共享存储--匿名内存共享

          挂载 卸载

       

  • 相关阅读:
    NOsql总结
    关于Swift中的指针的那些事
    并发控制的概念
    并发控制--Concurrency control--乐观、悲观及方法
    数据库的三大系统
    数据库沉思录
    代码结构化(分层)阅读
    代码阅读困难的原因
    数据库锁与并发
    SQLite事务、错误与自动回滚
  • 原文地址:https://www.cnblogs.com/justart/p/7826371.html
Copyright © 2011-2022 走看看