你已经注意到,这必须由交通运输插件实现的API函数的名称有一个神秘的后缀,或者_rEA,_srEA,_rrEA或_cEA。实际上,唯一没有的就是这个send()功能。这些后缀用于指示NDDS在调用函数时保证的多线程安全级别,以便可以简化插件实现这些函数。

该_xxEA后缀用于指示如何的功能被划分成不同的多线程安全组或独占 领域。

由于NDDS核心是多线程的,因此多个线程可能同时调用传输插件实例的API。然而,NDDS的设计是这样的,这种行为是明确的。函数已经组合在一起成为“专用区域(EAs)”,以便NDDS保证同一EA中的函数将以单线程方式(通常针对某些数据)被调用。

由于NDDS本身已经具有信号量和互斥体来防止EA内的多线程交互,因此Transport-Plugin实现者可以利用该设计,并且只有在不同EA中的函数之间可能存在传输特定的多线程交互时才创建信号量或互斥量。

首先,所有EA都适用于Transport Plugin的实例。相同的Transport Plugin类的不同实例之间不提供任何保证。已定义的EA是

_rEA- receive_rEA(),return_loaned_buffer_rEA()。

“r”代表接收。相同的RecvResource不会同时调用这两个函数。

_cEA(),get_class_name_cEA(),string_to_address_cEA(),get_receive_interfaces_cEA(),register_listener_cEA() delete_cEA()

“c”代表配置。传输插件的同一个实例不会同时调用这些函数。

_rrEA-,unblock_receive_rrEA(),create_recvresource_rrEA(),destroy_recvresource_rrEA(),share_recvresource_rrEA() unshare_recvresource_rrEA()

“rr”代表RecvResource。相同的RecvResource不会同时调用这些函数。

_srEA-,create_sendresource_srEA(),destroy_sendresource_srEA(),share_sendresource_srEA() unshare_sendresource_srEA()

“sr”代表SendResource。对于相同的SendResource,这些函数不会被同时调用。

RTI_DDS自定义插件开发 5 专属区域(_xxEA)相关推荐

  1. 【Go】基于telegraf进行自定义插件开发(一)

    基于telegraf进行插件的自定义(一) 前言 正文 环境准备 目录结构 插件结构 示例代码 注册插件 结语 前言 以长期使用Prometheus和各种exporter的经验来说,大量的export ...

  2. android自定义camera预览区域,android camera摄像surfaceview预览界面特定区域(该区域可移动)...

    1.自定义一个imageview用来设定surfaceview上的特定区域. public class DrawImageView extends ImageView { private Paint ...

  3. kong笔记——自定义插件开发

    kong笔记 目录导航 本文通过一个自定义插件的编写,来了解Kong的插件机制 插件功能: 原本返回百度首页,在添加插件之后,返回插件自定义的内容: 前提 使用kong代理百度的接口,配置route路 ...

  4. OpenFOAM——设置自定义非均匀场区域

    在使用OpenFOAM进行计算的时候,我们需要对计算域设置非均匀场,比如最典型的溃坝算例,在开始计算以前,我们需要首先设定某一区域的水的体积分数为1,就是下面这样的: 有可能我们在计算传热问题的时候, ...

  5. 自定义ImageView系列 - 区域截图(下)

    功能要点: - 根据控件自身大小计算合适的透明正方形预览区: - 截取预览区图像并按照指定的尺寸缩放,生成Bitmap对象. 本文着重介绍上述第2个要点. 有关第一个要点的内容,请参阅上一篇文章:请点 ...

  6. maven 自定义插件开发

    创建maven工程 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www ...

  7. 菜单自定义图标_操作系统任务栏了解多少,Windows server 2008 R2自定义通知区域...

    登录Windows server 2008 R2操作系统后,展现在小伙伴们面前的就是桌面,我们完成的各种操作都是在桌面上进行的.那么小伙伴们对此了解多少呢?它包括桌面背景.桌面图标.[开始]按钮和[任 ...

  8. 女神节活动 送她链上专属藏品,爱要大胆晒出来

    秦储平台女神节专属活动来袭!爱她就送她女神专属爱情藏品,更要大胆晒出来 女神节专属活动 1.活动说明 用户在秦储平台铸造女神节专属藏品,分享到微信朋友圈后集齐20个赞,在秦储广场提交话题<女神节 ...

  9. 数学好=编程能力强?MIT新发现:二者激活大脑区域并不同

    金磊 发自 凹非寺 量子位 报道 | 公众号 QbitAI 都说学编程就像学一门新的语言,但事实真的如此吗? 不不不,起码在读代码这件事上,你的大脑可不这么认为. 最近,MIT神经科学家在eLife期 ...

  10. Maven高级之插件开发

    前言 终于来到了Maven的插件开发,其实Maven的插件并没有想象的那么难,刚开始讲Maven基础的时候就演示了一下JDK是如何打包的,Maven打包只是在JDK打包上封装了一层而已,Maven也支 ...

最新文章

  1. web.config中sessionState节点的配置方案
  2. Win64 驱动内核编程-22.SHADOW SSDT HOOK(宋孖健)
  3. wxpython安装_01Python安装教程与特色介绍
  4. java面试题之----get和post请求方法的区别
  5. CV与IP:基础,经典以及最近发展
  6. PHP笔记-管道的作用 类
  7. access重复数据累计_小程序·云开发之数据库自动备份丨云开发101
  8. python 报ImportError: Install xlrd = 1.0.0 for Excel support错误出现及其解决帮法
  9. ART、JIT、AOT、Dalvik之间有什么关系?
  10. 介绍计算机的英文文章,计算机方面的英语资料,介绍一些计算机的英语短文,有兴趣的可以看...
  11. C语言 scanf函数
  12. 多个pdf合并成一个pdf_多个PDF怎么合并?这些PDF合并方法很简单!
  13. 通俗地告诉你:为什么Dijkstra算法是正确的?
  14. mysql grant tables_使用SKIP-GRANT-TABLES 解决 MYSQL ROOT密码丢失
  15. js将月份转换为英文简写的形式
  16. 2010公司处级聚会尾牙主持词
  17. LLVM的源码目录结构
  18. C# 证书 .cer, .pfx 创建,加解密 导出为 Base64编码文件
  19. 《人生就是一个不断相遇与离别的过程》
  20. 此CA证书不受信任的解决办法

热门文章

  1. python 通信_深入浅出通信原理(Python代码版)
  2. 目前为止最全的微信小程序项目实例
  3. python求解二次规划_二次规划问题
  4. android微博表情条,类似新浪微博EditText,可@某人,#插入话题,表情
  5. java抓取豆瓣网页内容_爬取豆瓣网页上的电影(包括图片,评分,和简介等)
  6. echars 绘制多点连线地图 vue
  7. 各种安装包下载地址汇总
  8. php项目推荐,php教程推荐:最值得推荐的10个php教程
  9. 有关EEPROM AT24C02字节写入和页写入
  10. 微机计算机原理及应用马义德,微型计算机原理及应用答案讲述.doc