spl 集算器如何实现生产者消费者模型

问题描述:
现在有一个 3000 万数据文件需要导入数据库,目前做法是一次读取 160 万数据到内存,将 160 万数据根据序号分组分为 32 组,每组 5 万条。然后用 fork 使用 32 个线程去并行插入数据库。但是经过测试发现现在整个流程卡点是在读取 160 万数据这一步,因为整个流程是串行的。先加载 160 万数据,然后分批交给 32 个线程去插入。目前想法是希望实现生产者消费者模式,让读取文件和插入数据库并行执行。
准备两个序列,读取线程先去读取 160 万数据到序列 1,读取完成后,再由 32 个插入线程去批量插入。并且在插入的同时读取线程去接着读取 160 万数据到序列 2。这样就可以做到读取和插入操作并行。可是实在想不到这块逻辑用 spl 怎么去实现,求各位大佬援助