atomic/lock free
IPC: ctrl+c, signal, shared memory, socket
IPC methods include pipes and named pipes; message queueing;semaphores; shared memory; and sockets.
condition variable, notify all, notify one, consumer/producer,deadlock/race condition
https://en.wikipedia.org/wiki/Monitor_(synchronization\
notify_all vs notify one:
join:
http://stackoverflow.com/questions/15956231/what-does-this-thread-join-code-mean