异步与同步,阻塞与非阻塞的正确认识

1.同步和异步:

同步和异步关注的是消息通信机制,
同步:就是当程序发出一个调用时,此时程序在主动等待调用返回的结果
异步:就是当程序发出一个调用时,此时程序会继续执行,而不会等待这个调用的结果,被调用者会通过状态,通知,或回调函数等处理调用的结果

2.阻塞和非阻塞:

阻塞和非阻塞关注的是程序在等待调用结果时的状态
阻塞:理解为调用返回结果之前,此线程会挂起来,只有在调用返回结果之后程序继续执行
非阻塞:与阻塞相反,发起调用之后不会等待调用返回结果,继续执行.

异步非阻塞

当一个程序A对程序B发起调用后,A程序不被挂起继续执行(非阻塞),调用返回的结果消息由B程序以回调函数等方式返回给A程序,而不是A程序主动去获取的(异步);

异步阻塞

当一个程序A对程序B发起调用后,A程序被挂起不继续执行(阻塞),调用返回的结果消息由B程序以回调函数等方式返回给A程序,而不是A程序主动去获取的(异步);

同步非阻塞

当一个程序A对程序B发起调用后,A程序不被挂起继续执行(非阻塞)但会间断性来获取结果消息,调用返回的结果消息由A程序主动获取(同步);

同步阻塞

当一个程序A对程序B发起调用后,A程序被挂起不继续执行(阻塞),调用返回的结果消息由A程序主动获取(同步); 

 

更多详情

 

posted @ 2019-04-17 20:13  Py浪涛  阅读(202)  评论(1编辑  收藏  举报
你想听歌吗o((;=゚ 3゚ =))o~♪