同步与异步:
-
同步:事情一件一件的做。执行事件A时,需要等A完成,再去做事件B。
-
异步:事情可以一起做。执行事件A时,在等待事件A的结果的同时可以去做事件B。
-
状态:等待事件A的结果的同时去做事件B,在做事件B时,每隔一段时间询问一次(轮询)事件A的状态如何,是否完成。
-
通知:等待事件A的结果的同时去做事件B,并让A完成后通知一下调用者。
-
回调:等待事件A的结果的同时去做事件B,并让A完成后执行一个函数,这个函数叫做回调函数。
阻塞与非阻塞:
-
阻塞:调用结果返回之前,线程被挂起,处于等待状态,直到结果返回
-
非阻塞:调用不会使进程挂起,不会阻塞当前线程
并发与并行:
-
并发:计算机只有一个CPU,却要运行辣么多线程,不可能同时进行,所以将CPU分成若干个时间段,分给不同的线程。当CPU在忙某个线程时,其他线程被挂起
-
并行:计算机装有多个CPU或者CPU多线程,多个线程可以同时进行,这样叫做并行