I wouldn't recommend using a second thread. Instead, specify a 'goal' position. In each update call, move the camera towards the goal position by some increment (like cameraZoomSpeed * dt).
You'll also probably need to deal with the case where your camera is less than one step away from the goal position. Instead of moving a whole step towards it, which could overshoot and cause visible jittering, you can move only enough to get there.