each camera handle its own thread