Процесс - единица операционной системы. На которую выделена память и др. ресурсы. Содержит в себе потоки.
Поток - единица исполнения кода.
Поток имеет стэк и память для исполнения. Потоки исполняются на ядрах процессора. Чаще всего одна программа состоит из одного процесса, но бывают и исключения (например, браузер Chrome создает отдельный процесс для каждой вкладки, что дает ему некоторые преимущества, вроде независимости вкладок друг от друга). Процессы изолированы друг от друга, поэтому прямой доступ к памяти чужого процесса невозможен (взаимодействие между процессами осуществляется с помощью специальных средств).
Приложение живо пока жив хоть один поток.
Атомарный - значит "неделимый" - в том смысле, что операция должна быть выполнена полностью или отменена.
Критическая секция - участок исполняемого кода программы, в котором производится доступ к общему ресурсу (данным или устройству), который не должен быть одновременно использован более чем одним потоком выполнения. При нахождении в критической секции двух (или более) потоков возникает состояние «гонки» («состязания»). Во избежание данной ситуации необходимо выполнение четырех условий: