同步异步阻塞非阻塞及并发级别

同步和异步通常用来形容一次方法调用。同步方法调用一旦开始,调用者必须等到方法调用返回后,才能继续后续的行为。异步方法调用更像一次消息传递,一旦开始,方法调用就会立即返回,调用者可以继续后续的操作。如果异步调用需要返回结果,那么当这个异步调用真实完成时,则会通知调用者。

阻塞和非阻塞通常用来形容多线程间的相互影响。比如一个线程占用了临界区资源,那么其他所有需要这个资源的线程就必须在这个临界区中进行等待。等待会导致线程挂起,这种情况就是阻塞。此时,如果占用资源的线程一直不释放资源,那么其他所有阻塞在这个临界区上的线程都不能工作。

并发级别:

由于临界区的存在,多线程之间的并发必须受到控制。根据控制并发的策略,我们可以把并发的级别进行分类,大致上可以分为阻塞、无饥饿、无障碍、无锁、无等待几种。

阻塞:

无饥饿:

无障碍:

无锁:

无等待:

猜你喜欢

转载自www.cnblogs.com/i-hard-working/p/10393597.html