当前位置:   article > 正文

qnx和Android之间传递数据,QNX中的进程间通信(IPC)

qnx和android通信

一、Synchronous message passing[同步消息传递]如果一个线程执行了MsgSend()方法向另一个线程(可以属于不同进程)发送消息,它会就被阻塞,直到目标线程执行了MsgReceive(),并处理消息,然后执行了MsgReply()。如果一个线程在其他线程执行MsgSend()之前执行了MsgReceive(),它会被阻塞直到另一个线程执行了MsgSend()。消息传递是通过直接的内存copy来实现的。需要巨大消息传递的时候建议通过Shared Message[共享内存]或其他方式来实现。

1、消息传递中的状态迁移客户程序的状态迁移・SEND blocked:调用MsgSend()后,服务程序没有调用MsgReceive()的状态。・REPLY blocked:调用MsgSend()后,并且服务程序调用了MsgReceive(),但是没有调用MsgReply()/MsgError()的状态。当服务程序已经调用了MsgReceive()方法是,客户程序一旦调用MsgSend()就直接迁移如REPLY blocked状态。・READY:调用MsgSend()后,并且服务程序调用了MsgReceive()和MsgReply()的状态。服务程序的状态迁移:・RECEIVE blocked;调用MsgReceive()后,客户程序没有调用MsgSend()时的状态。・READY:消息处理时的状态。MsgReply()调用后不回阻塞。当服务程序已经中止时,调用MsgSend()会返回一个错误,不会被阻塞。

2、Channels and 连接ions[渠道与连接]在QNX Neutrino中消息传递是通过Channels和Connections的,而不是直接在线程之间传递。一个要接受消息的线程必须先生成一个Channel,而一个要发消息的线程必须依附于(Attac

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/笔触狂放9/article/detail/964062
推荐阅读
相关标签
  

闽ICP备14008679号