TaskPool-ConcurrentWriter并行框架
本文根据github上的点云转3dtiles的代码整理(GitHub - potree/PotreeConverter: Create multi res point cloud to use with potree)。其采用 Producer-Consumer 模式实现点云的分块、构建金字塔等处理。本文主要介绍其并行的结构,即TaskPool-ConcurrentWriter并行框架
目录
- 1 Producer-Consumer 模式
- 2 TaskPool与ConcurrentWriter类
内容
- 1 Producer-Consumer 模式
即生产者和消费者模式,生产者和消费者可分别有多个线程完成。生产者与消费者之间共享一个任务池,生产者负责向任务中添加任务,消费者负责消耗任务。两者工作时,总结来说有三点内容:1)两者在添加和取出任务是不能冲突(可通过添加锁来实现);2)生产者能够检查当前池子的大小,当池子满时,生产者等待,同理,当池子任务不足时,消费者等待;3)最后是两者的同步&