Answer:
semaphores
sockets
pipes
Step-by-step explanation:
Inter-process synchronization is about multiple processes on a computer exchanging information. Synchronization also implies that one process has to wait on another process, either because it depends on information the other process delivers, or to protect a shared resource that only allows one process at a time accessing it.
For that last purpose, a system-wide semaphore is the most suitable construct. Sockets and pipes are very similar, and allow sending of actual data between processes.