[vtkusers] Multi threading question

David E DeMarle dave.demarle at kitware.com
Tue Feb 24 08:30:12 EST 2009


What you are doing is correct. VTK is not thread safe, so in general
you have to protect against concurrent access manually as you have
done.

On Mon, Feb 23, 2009 at 10:51 PM, Anton Deguet <anton.deguet at jhu.edu> wrote:
> Hello,
>
> I have an application with one renderer and multiple actors.  Each actor (assembly) is controlled by a different thread and all use a single renderer (running in its own thread).  As a temporary solution, I use an application wide mutex lock/unlock for any access to VTK to avoid rendering while a thread is modifying the scene via its actor (threads can modify anything; position, size, visibility, opacity, texture, ... and other non atomic operations).  It somewhat works but I am afraid one programmer might forget to lock/unlock the scene before modifying its actors and this might be hard to debug/detect.  I am also slightly concerned by long waiting periods to lock the mutex as the application is growing.
>
> So, does VTK provide something better than what I am using, i.e. is there any build-in thread safety mechanism that one can use (multiple buffers, queued commands, ...) that would avoid locks.
>
> Thank you,
>
> Anton Deguet
> _______________________________________________
> Powered by www.kitware.com
>
> Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html
>
> Please keep messages on-topic and check the VTK FAQ at: http://www.vtk.org/Wiki/VTK_FAQ
>
> Follow this link to subscribe/unsubscribe:
> http://www.vtk.org/mailman/listinfo/vtkusers
>



-- 
David E DeMarle
Kitware, Inc.
R&D Engineer
28 Corporate Drive
Clifton Park, NY 12065-8662
Phone: 518-371-3971 x109



More information about the vtkusers mailing list