比如,前端摄像机采集来的视频信号通过视频分配器可以接入中心矩阵的同时,再接入硬盘录像机或显示设备等。视频分配器通常有1路输入2路输出(即1进2出)、1进4出、1进8出等等。
在接口设备上分配器是将音视频信号分配至多个显示设备或投影显示系统上的一种控制设备。它是分配信号的接口形式的设备。分配器具有一个显著的特点就是,可以将高清A号通过普通的同轴电缆线延长到200米左右,能解决工程中因信号信号源1个而显示设备有多个种类与数量而造成的问题。
在C++编程中,分配器(英语:allocator)是C++标准库的重要组成部分。C++的库中定义了多种被统称为“容器”的数据结构(如链表、集合等),这些容器的共同特征之一,就是其大小可以在程序的运行时改变;为了实现这一点,进行动态内存分配就显得尤为必要,在此分配器就用于处理容器对内存的分配与释放请求。换句话说,分配器用于封装STL容器在内存管理上的低层细节。默认情况下,C++标准库使用其自带的通用分配器,但根据具体需要,程序员也可自行定制分配器以替代之。
分配器应是可复制构造的,任举一例,为T类对象而设的分配器可由另一为U类所设的分配器构造。若某分配器分配了一段存储空间,则这段存储空间只能由与该分配器等价的分配器解除分配。分配器还需要提供一个模板类成员类template
定义自定义分配器的主要原因之一是提升性能。利用的自定义分配器可以提高程序的性能,又或提高内存使用效率,亦或两者兼而有之。默认分配器使用new操作符分配存储空间,而这常利用C语言堆分配函数(malloc())实现。由于堆分配函数常针对偶发的内存大量分配作优化,因此在为需要一次分配大量内存的容器(如向量、双端队列)分配内存时,默认分配器一般效率良好。但是,对于关联容器与双向链表这类需要频繁分配少量内存的容器来说,若采用默认分配器分配内存,则通常效率很低。除此之外,基于malloc()的默认分配器还存在许多问题,诸如较差的引用局部性,以及可能造成内存碎片化。
视频分配器的作用主要是用来将视频信号源拓展成多路视频输出,方便与多台显示设备相连。常见的就是视频信号分成多路后与多台显示设备相连,用来展示显示器,如商场的显示器专卖店、电视专卖店等;除了这些,还可以用在高铁站、机场等,用在多个通道展示车次或者航班信息,方便旅客的出行