Never mind.  Jason reminded me that it would be difficult to unlock only when the thread returns.  Locking and unlocking in the created thread is the simplest approach.