本文共 334 字,大约阅读时间需要 1 分钟。
本文的系统环境为Linux
进程是系统分配资源的最小单位。简单来讲,你运行一个可执行程序,就是一个进程。这个可执行程序可以是不同语言编写的,比如说c/c++ 和python 这两个。
一个c/c++的进程如何和python运行的进程进行数据的交互呢,方式有三种:管道(fifo),共享内存,消息队列,这几种通信方式是不分语言的,只要是进程都可以用着三种方式,这里我推荐使用 共享内存和管道,方便易用。
在涉及到多进程时,难免会发生共享资源抢占顺序的问题,比较常见的解决机制是互斥锁,信号量,但是不同语言的API不一样,那怎么解决呢
Python中需要有一个ctypes 调用librt.so(运行库),几乎就可以访问c/c++标准库中的API,当然你也可以自己编写库。
转载地址:http://ugpqb.baihongyu.com/