Apple Interview Question

Difference between semaphor, lock, and control variables.