应用_进程线程

进程线程


1.进程:

  进程间通讯(IPC):

  1. 种类:无名管道,有名管道,信    号

            消息队列,共享内存,信号量

             socket

  2.目的:实现数据共享

  3.  

  无名管道:内核在物理空间开辟的一段共享缓存,无文件名只用于亲缘之间;

  有名管道:内核在物理空间开辟的一段共享缓存,已文件形式操作缓存;

  信号

  消息队列:内核在物理空间创建用于存放消息的双向循环链表;

     函数:msgget    :创建获取标识符

        msgsend :通过标识符发送编号内容

        msgrcv    :通过标识符接收编号内容

        msgctl     :通过标识符删除消息队列

  共享内存:内核在物理空间开辟一大段缓存空间,直接使用地址共享读写,实现通信;

     函数:shmget :创建获取共享内存

           shmat  : 映射建立

        shmdt  : 映射取消

        shmctl  :删除共享内存

  信号量:多进程线程共享操作,通过加锁机制资源保护,实现同步与互斥,防止干扰;

     函数:semget :创建获取信号量集合

        semctl  :设置初始值

           semop : P V 操作 

           semctl : 删除信号量集合

   

2.线程:轻量级进程,CPU调度的最小单位

    函数:pthread_creat 注册线程函数,实现并发运行

       pthread_dtach/self 线程分离,自动回收

       pthread_cannel/exit  粗暴主动,终止线程

       pthread_join      回收资源(阻塞等待次线程回收)

       pthread_cleanup_push/pop 线程退出函数(压栈弹栈必须成对)


<笔记>

1. 程序运行在磁盘,不占系统资源

 进程运行在内存,占用系统资源

2. fork之前的代码,父子进程都拥有

3. 

猜你喜欢

转载自www.cnblogs.com/panda-w/p/10992334.html