Garmin Interview Question

What is a Semaphore (within the context of multithreading).