进程间通信是内部通信,网络是外部通信,现在应该就能很好理解为什么多线程编程和网络编程那么重要了,那么多公司在强调。
这让我想起PX4内部通信是uORB,外部通信是mavlink。
我觉得freertos应该也是的,但凡在操作系统上编写应用程序,应该都避免不开这两个,所以多线程编程和网络编程应该是操作系统中编写应用程序的基础,怪不得那么强调。就像串口通信等等的。
只是现在更多用网络通信取代了串口通信。
所以还有什么嵌入式轻量级的网络协议栈。
还有你要和硬件通信或者打交道那就得有驱动。也可以算作通信是不是。
QT应该也是有对应多线程库和网络编程的库的。
![](https://img-blog.csdnimg.cn/20210705174457269.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3NpbmF0XzE2NjQzMjIz,size_16,color_FFFFFF,t_70)
兜兜转转,本质都是通信。
你不管写应用程序还是写后台,都是需要多线程和网络通信,不管是C++还是Java。
https://mp.weixin.qq.com/s/mq9SJ3K3P12GhWzOEzWdUQ
![](https://img-blog.csdnimg.cn/20210705080328689.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3NpbmF0XzE2NjQzMjIz,size_16,color_FFFFFF,t_70)
我们类比ROS也很好理解,一个节点相当于一个进程,节点间通信相当于进程间通信,ROS就相当于多线程编程, ROS多机通信就是基于TCPIP的。
我觉得容器也有这样的思想,kubernetes。
你看看从linux到ROS到Kubernetes都有着相似的思想。freertos
现在才感受到多线程编程,网络编程是编写应用程序的基础,基础中的基础,但凡是操作系统上的应用程序都基本会涉及。飞控用freertos就基本是有多线程编程的思想了。只是没怎么用到网络编程,因为大部分可能就是串口通信了。
我自己多加一个串口编程,也属于外部通信。
2021.7.31
TCP UDP也是可以作为本地上两个进程间的通信方式的,通过端口。自己写过网络编程就可以感受到。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)