文章目录
- 异步
- 并行
- 异步与多线程
异步
异步: 一种通讯方式,对设备要求简单,我们日常的PC机提供的标准通信接口都是异步的
异步有两种含义:
- 异步双方不需要共同的时钟,即接收方不知道发送方何时发送信息,故在发送信息中需要设置好开始位和结束位
- 计算机多线程的异步处理,注意是异步处理。与同步对应,异步处理不用阻塞当前线程,而直接跳过当前请求,让线程执行下一个请求
异步、多线程、并行是完全不同的概念
并行
并行一般指并行计算,同一时刻有多条指令同时被执行,这些指令可能执行于同一个CPU的多核上,或者多个CPU上,多个网络上……
异步与多线程
-
异步: 与同步对应,让CPU暂时阁制当前请求的响应,处理下一个请求,当通过轮询或其他方式得到回调通知后,开始执行
- 无需额外的线程负担
- 使用回调方式处理,如果设计良好,可以不使用共享变量,减少死锁概率
- 复杂度较高,思维不符合常规思维
-
多线程: 将异步处理放入另一个线程中
- 处理程序按照顺序执行,符合常规思维
- 线程滥用会导致上下文切换的额外负担
- 线程间的共享变量可能造成死锁出现
异步和多线程都可以避免线程阻塞,提高软件的响应率
- 异步:停下来,处理下一个
- 多线程:分配给另一个线程进行