同步和异步
同步和异步是应用程序和操作系统处理IO时采用的方式。 比如: 同步:应用程序要直接参与IO读写的操作 异步:所有的IO读写交给操作系统去处理
同步的方式在处理IO事件的时候必须阻塞在某个方法上面等待IO事件完成(阻塞IO亊件或则通过轮询IO事件的方式)
对于异步来说,所有的IO读写都交给了操作系统(比如:重新起一个线程来处理),这个时候我们可以去做别的事情,IO操作完成后给我们的应用程序一个通知就可以。
阻塞和非阻塞阻塞和非阻塞是进程在访问数据的时候,对于数据是否准备就绪的一种处理方式。 当数据没有准备的时候: 阻塞:往往要等待缓冲区中的数据准备好过后才处理其他的事情,否则一直等待在那里。(阻塞调用是指调用结果返回之前,当前线程会被挂起【线程进入非可执行状态,在这个状态下,cpu不会给线程分配时间片,即线程暂停运行】。函数只有在得到结果之后才会返回。)
非阻塞:当我们的进程访问数据缓冲区的时候,数据没有准备好,直接返回不裔要等待,数据准备好时候也直接返回。
个人微信公众号:
作者:jiankunking 出处:http://blog.csdn.net/jiankunking