использование «pcl :: visualization» в разных потоках из разных экземпляров класса

Я хочу иметь класс, который содержит визуализатор в облачной точке. вот мой код:

class my_vis
{
      void vis_func ()
    {
        pcl::visualization::PCLVisualizer *vis ;
        vis = new pcl::visualization::PCLVisualizer("octree viewer");
        // this "vis" is just used in this function and no other place
    }

    void execute(){
        //Start visualizer in a thread
        boost::thread* visThread = new boost::thread(boost::bind(&my_vis::vis_func, this));
        // bla bla
    }
}
int main ()
{    
    my_vis vis1();
    vis1.execute();
    my_vis vis2();
    vis2.execute();
    std::getchar();
    return 0 ;
}

теперь у меня есть класс визуализаторов, которые могут быть созданы вглавный", когда я сделал только один экземпляр из класса "my_vis» когда все работает, все в порядке. Но мне нужно два или более экземпляров. и когда я инициализирую более одного экземпляра, произошла ошибка: BLOCK_TYPE_IS_VALID Я думаю, что это из-за использования потоков. Но потоки необходимы в моем проекте.

Не могли бы вы помочь мне? Большое спасибо за вашего пациента и помощь :)

Постскриптум Я использую PCL 1.7

Ответы на вопрос(1)

Ваш ответ на вопрос