并行和并发:并发偏重于多个任务交替执行。并行是真正意义上的"同时执行"。但两者的最终效果是一样的;
同步和异步:同步是指在同一时间里,一个同步方法调用后需要返回后,才能继续后续的行为。异步是指在同一时间里,一个同步方法可以同时做不同的事;
临界区:临界区表示一种公共资源或者是说共享数据,一次只能一个线程使用,其他线程想要就需要等待;
阻塞和非阻塞:阻塞是指一个线程占用了临界区的资源,其他想用这个资源,就必须,在临界区等待,等待会导致线程挂起,而非阻塞的意思相反,强调没一个线程可以妨碍其他线程执行,所有线程都会不断执行;
死锁、饥饿、活锁: 死锁是指各自的线程都占用的资源,饥饿是指因为种种原因(可以能是优先级)导致某个线程一直得不到资源,活锁是指各自的线程都是“谦让”的原则,主动把资源让给对方,导致没有一个线程能得到资源而正常执行;