应用_进程线程

Posted panda-w

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了应用_进程线程相关的知识,希望对你有一定的参考价值。

进程线程


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. 

 

以上是关于应用_进程线程的主要内容,如果未能解决你的问题,请参考以下文章

Python_oldboy_自动化运维之路_线程,进程,协程

python_多线程多进程

00100_多线程

09_1_线程的基本概念

python_高级进阶线程

进程_线程 之 --- 协程