made various strategy invocations thread save by obtaining reentrant lock