1.异步
表明事情相互独立地发生。
2.并发
指事情同时发生。并发操作之间可能任意交错。
3.并行
指并发序列同时执行。但是和并发的区别是在相同的方向上独立进行(没有交错)。
真正的并行只有在多处理器系统中存在。但是并发在单处理器和多处理器中都存在。
并行要求程序能够同时执行多个操作,而并发只要求程序能够假装同时执行多个操作。
4.线程安全
指代码能够被多个线程调用而不会产生灾难性结果。
可以通过互斥量、条件变量和线程私有数据。或者将线程安全函数分为多个小的临界区。更好的方式是将代码改造为对临界数据的保护而不是对临界代码的保护。