分布式随笔

来源:互联网 发布:远程网络教育 编辑:程序博客网 时间:2024/05/21 21:43

死锁

死锁其实就是线程所占有的资源不释放,互相牵制,导致线程都不能运行,叫做死锁

活锁

活锁其实就是线程一需要资源AB他拥有A,线程二需要资源AB它拥有B‘
这时候他们都发现自己无法运行,于是都释放资源。释放了之后,线程一和二都发现有资源了,于是又各抢占了其中的一个,从而导致线程一和线程二都不能彻底运行。导致活锁,活锁比死锁麻烦的多

并发级别

阻塞

无障碍

无障碍是一种最弱的非阻塞调度
自由出入临界区
无竞争时,有限步内完成操作
有竞争时,回滚数据


无锁

是无障碍的,所有的线程都能进入临界区,但是不一定能让线程能够出来,无锁必须无障碍,但是增加了一个限制条件,就是在临界区中的所有线程,至少保证一个线程能够出去。这样不会让临界区中的线程死掉

无等待(基本是并行最高级别)

无锁的,要求所有线程都必须在有限步内完成,无饥饿的

原创粉丝点击