1. 同步,异步
- 同步:在发出一个同步调用时,在没有得到结果之前,该调用就不返回。
- 异步:在发出一个异步调用后,调用者不会立刻得到结果,该调用就返回了。
2. 阻塞,非阻塞
- 阻塞调用是指调用结果返回之前,调用者会进入阻塞状态等待。只有在得到结果之后才会返回。
- 非阻塞调用是指在不能立刻得到结果之前,该函数不会阻塞当前线程,而会立刻返回
区别:
- 阻塞和非阻塞强调的是程序在等待调用结果(消息,返回值)时的状态
- 同步和异步强调的是消息通信机制
3. 并发,并行
- 并发是指一个时间段内,有几个程序都在同一个CPU上运行,但任意一个时刻点上只有一个程序在处理机上运行。
- 并行是指一个时间段内,有几个程序都在几个CPU上运行,任意一个时刻点上,有多个程序在同时运行,并且多道程序之间互不干扰。 两者区别如下图