首先,计算机是分层的,分为内核态和用户态,一般写程序都是在用户态,所以一般都需要用户态调用内核态的资源
1、同步:发起者发送请求,之后等待处理者处理完成之后返回,没处理结束不会返回;同步可以理解成两个线程一起做事情,彼此等待的过程
2、阻塞:阻塞是实现同步的一种方式,A线程阻塞等待B线程,等B线程处理完了一起走
3、异步:发起者发送请求,不用等待处理者处理结束,可以继续做别的事情(其中包括等待,处理者不管你,这才有了异步阻塞)然后,处理者通过消息机制的方法去通知发起者,数据处理好了
4、非阻塞:如果发起者的发起数据请求,如果没有得到及时的回复,不会一直等待,会继续执行(这里继续执行如果没有这个数据不行,同步的话就会轮询,异步的话会用消息处理机制通知)
1、同步阻塞:请求方,发起请求,接收方处理数据,请求方一直阻塞等待
2、异步阻塞:请求方,发起请求,接受方处理数据,请求方继续别的事情(这里别的事情就是等待)等有了消息通知,继续执行
3、同步非阻塞:请求方,发起请求,接受方处理数据,请求方轮询接收方或者同时做别的事情,但是轮询一定要,看什么时候数据准备好
4、异步非阻塞:请求方,发起请求,接受方处理数据,请求方干别的事情,等数据好了,消息通知过来,再继续