关于不同语言编写代码运行时数据交互的问题

本文的系统环境为Linux 

进程是系统分配资源的最小单位。简单来讲,你运行一个可执行程序,就是一个进程。这个可执行程序可以是不同语言编写的,比如说c/c++ 和python 这两个。

一个c/c++的进程如何和python运行的进程进行数据的交互呢,方式有三种:管道(fifo),共享内存,消息队列,这几种通信方式是不分语言的,只要是进程都可以用着三种方式,这里我推荐使用 共享内存和管道,方便易用。

在涉及到多进程时,难免会发生共享资源抢占顺序的问题,比较常见的解决机制是互斥锁,信号量,但是不同语言的API不一样,那怎么解决呢

Python中需要有一个ctypes 调用librt.so(运行库),几乎就可以访问c/c++标准库中的API,当然你也可以自己编写库。 

你可能感兴趣的:(linux开发,编程)