打印
[应用相关]

通信方式

[复制链接]
495|17
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
handleMessage|  楼主 | 2020-6-29 21:02 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
操作系统中任务之间通信的方式有哪些?

使用特权

评论回复
沙发
bbapple| | 2020-6-29 21:08 | 只看该作者
看到宏晶的**吧,有满足你要求的

使用特权

评论回复
板凳
feiqi1| | 2020-6-29 21:08 | 只看该作者

说说我熟悉一点的   Linux

通信就是说进程之间传递数据。常见的方法有   pipe(管道),FIFO(命名管道),socket(套接字),SysVIPC   的   shm(共享内存)、msg   queue(消息队列),mmap(文件映射)。以前还有   STREAM,不过现在比较少见了(好像)。

使用特权

评论回复
地板
androidbus| | 2020-6-29 21:12 | 只看该作者
同步的意思是说,让不同进程能够在同时到达一个已知的特定状态之前等待另一方的执行。Linux   下常见的同步方法有SysVIPC   的   sem(信号量)、file   locking   /   record   locking(通过   fcntl   设定的文件锁、记录锁)、futex(基于共享内存的快速用户态互斥锁)。针对线程(pthread)的还有   pthread_mutex   和   pthread_cond(条件变量)。
除了这些特定的同步对象之外,还有一些同步方法是与通信方法不可分离的,包括:对   pipe/FIFO/socket   和   msg   queue   的阻塞等待、对子进程退出事件的等待(wait族)、对线程退出时间的等待(pthread_join)

使用特权

评论回复
5
litengg| | 2020-6-29 21:12 | 只看该作者
同步对象有   Mutex   和   EventObject,Semaphore   信号量应该也有只是记不得。另外很重要的一个就是   Windows   Message,应该是高阶的、经过封装的同步方式,但是非常好用。IOCP、异步   socket   和窗口信息都是   Windows   Message   传递的。

使用特权

评论回复
6
qiangweii| | 2020-6-29 21:16 | 只看该作者
我觉得任务间的同步与通信是有点难

使用特权

评论回复
7
shashaa| | 2020-6-29 21:17 | 只看该作者
通常包括: 共享内存,数据的简单共享。

使用特权

评论回复
8
xia00| | 2020-6-29 21:20 | 只看该作者
交换信息的方式一般采 用: 单向同步或通信。

使用特权

评论回复
9
hfdy01| | 2020-6-29 21:21 | 只看该作者
操作系统可以有不同的信号量

使用特权

评论回复
10
CallReceiver| | 2020-6-29 21:25 | 只看该作者
任务间通信的机制是消息

使用特权

评论回复
11
boy1990| | 2020-6-29 21:25 | 只看该作者
三种任务通信方式:信号量、消息邮箱和消息队列。

使用特权

评论回复
12
sourceInsight| | 2020-6-29 21:28 | 只看该作者
可以在内存中创建一个存储空间作为该数据的缓冲。。

使用特权

评论回复
13
wanglaojii| | 2020-6-29 21:29 | 只看该作者

信号量 互斥锁也可以。

使用特权

评论回复
14
laozhongyi| | 2020-6-29 21:33 | 只看该作者
所有的嵌入式操作系统一般都会提供许多任务间通信的方法。。

使用特权

评论回复
15
Edisons| | 2020-6-29 21:33 | 只看该作者
信号量其实就是一种通过数字大小来实现限制资源使用的一种机制

使用特权

评论回复
16
_gege| | 2020-6-29 21:37 | 只看该作者
使用定义的信号量扣消息邮箱完成

使用特权

评论回复
17
Listate| | 2020-6-29 21:38 | 只看该作者

通过消息通信的二进制信号量

使用特权

评论回复
18
Mozarts| | 2020-6-29 21:42 | 只看该作者
楼上有几位都说了,主要是信号量的

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

166

主题

1689

帖子

4

粉丝