最简单易懂的进程通信入门实例(“共享外存/文件”)
来源:互联网 发布:广联达软件教学视频 编辑:程序博客网 时间:2024/06/06 09:38
什么是进程? 这个早已经被问了无数遍了。 进程无非就是程序运行的一个实例。 你登录QQ, 那么就启动了一个QQ进程。 你再登录一个QQ, 又启用了另外一个QQ进程。 那一年, 我无聊地登录了5-6个QQ, 那是, 我启动了5-6个QQ进程。 不过, 那时候, 我还不知道什么是进程。
三年前, 需要用matlab对视频进行裁剪, 需要用C对视频进行编码和解码, 然后又需要利用matlab对数据进行分析和可视化。为了使一切过程自动化运行, 需要好好控制matlab程序和C程序的运行, 注意数据交换和传递。那时候, 我用了最简单最原始的进程通信方法。 为了方便起见, 现在仅仅简单模拟一下。
说明, 在后面的博文中, 我们会学习“共享内存”的方法实现进程间的通信, 所以, 我将本文所介绍的最基本的最原始的进程间通信方式命名为“共享外存/共享文件”
进程1对应的代码为:
#include <stdio.h>int main(){FILE *fp = fopen("test.txt", "w");if(NULL == fp){return 1;}int c = 97;fputc(c, fp);fclose(fp);return 0;}
进程2对应的代码为:
#include <stdio.h>int main(){FILE *fp = fopen("test.txt", "r");if(NULL == fp){return 1;}int c = fgetc(fp);fclose(fp);printf("%d\n", c);return 0;}
进程1把数据写入文件, 进程2从文件中读取数据。 可见, 这两个进程间的通信是通过文件来完成的。 当然了, 这是一种最原始最简单的进程通信方式, 操作系统提供了更多更好的进行间通信方式, 我们将逐步来学习这些进行通信方式(实际上, 我们学过的socket编程就是一种很好的进程通信方式)。
进程间为什么要通信呢? 这个问题等价于: 人和人为什么要交流?也等价于:人和人为什么发生联系/关系? 所以, 这是个不答自明的问题。
0 0
- 最简单易懂的进程通信入门实例(“共享外存/文件”)
- 进程间通信(4)---最高效的进程间通信方式--内存共享
- Linux\Unix IPC进程通信实例分析(一):共享内存通信---文件映射mmap方式
- 进程间通信系列 之 共享内存简单实例
- 简单的redis实例 简单易懂搬运
- 简单的,父子进程间的共享内存通信
- 最简单的html入门实例
- 最简单的cmd批处理入门实例
- 进程间通信之“内存共享”的简单实现
- 最简单易懂的闭包
- https最简单易懂的解释
- 最简单易懂的dagger2示例
- 最简单的MVP模式,简洁易懂。
- 小兔JS教程(五)简单易懂的JSON入门
- Socket通信最简单实例
- 简单的,两个不同进程间的共享内存通信(大小写转换)
- Windows进程间共享内存通信实例
- 进程间通信-共享内存实例
- 【Unity3D】Parallax Background循环背景(使用纹理)
- tuple的使用
- 编程之美:第一章 1.14连连看游戏设计
- java中的finalize方法
- C++默认构造函数在需要的时候被编译器构造出来 解析
- 最简单易懂的进程通信入门实例(“共享外存/文件”)
- 黑_马_程_序_员_泛型的理解
- 编程之美:第一章 1.15构造数独
- sqart平方根计算的两种方法实现(累加逼近和二分法)
- Android开发记录
- 南京邮寄
- POJ3984 迷宫问题(BFS 记忆路径)
- 博客开通目的——分享与成长
- ubuntu常见基础应用(快捷键,常见命令,man命令)