Gave up on the GIL stuff.  Java's threading seems to not play well with python.  Ensure and Release did not guarantee mutual exclusion on hydra.  Acquire and Release do guarantee mutual exclusion, but state still gets messed up.  Giving up and using Java synchronized keyword.