concurrency: semaphores, with-lock.