JUCE类库数据容器4-4

18、Atomic

Atomic用于封装一个需执行原子操作的32/64位整型数值或指针。该类重载了赋值、+=、-=、++、–运算符。其构造函数有两个重载版本,一是无参构造,创建一个0值对象;二是给出初始值。

19、ThreadLocalValue

ThreadLocalValue线程局部变量可封装非线程安全类的对象或原始类型的变量值。典型用法: 创建本类的静态对象或单例对象,模板参数可以是原始类型,或者任何拥有默认构造函数与拷构函数的自定义类,而后用“=”获得值。当某个线程不再需要该值时,本类对象调用releaseCurrentThreadStorage()可允许该值所占用的内存空间被其它线程所使用。如果线程退出之前没有调用此函数,则对象将继续保留,直到本类销毁。

20、其他数据容器

JUCE类库中的AudioSampleBuffer音频采样缓冲(二维float数组)、AudioDeviceManager音频设备管理器、AudioFormatManager音频格式管理器、AudioPluginFormatManager插件格式管理器、MessageManager消息管理器、ApplicationCommandManager命令管理器、UndoManager撤销管理器、StretchableLayoutManager分栏管理器等类也可视为特殊的数据容器,这些类相对来说比较高级,直接面对专门的问题域,可大大提高GUI和音频处理等方面的编程效率。详细介绍请参见本站的后续发文。