昆明java培训
达内昆明广州春城路

18487146383

热门课程

java并发的级别

  • 时间:2016-07-31
  • 发布:昆明Java培训
  • 来源:达内新闻

java并发的级别

1、阻塞

一个线城市阻塞的,要么在其他线程释放资源之前,当前线程无法执行,例如使用synchronized或者重入锁;

2、无饥饿

如果线程是有优先级的,那么线程调度的时候总会倾向于满足高优先级的线程,从而造成低优先级的线程饥饿,而无饥饿则能够保证饥饿不会产生,常见的手段是公平锁,保证先来后到;

3、无障碍

无障碍的并发不会因为临界区导致线程挂起,每个线程都可以直接进入进入临界区,如果检测到脏数据则对自己所做的修改立即回滚,确保数据安全;

4、无锁

无锁的并行都是无障碍的,在无锁的调用中,一个典型的特点是包含一个无穷循环,在这个循环中,线程会不断的尝试修改共享变量,如果没有冲突修改成功,否则,会不断的尝试继续修改,无锁能保证必然有一个线程能够在有限步内完成操作离开临界区;

5、无等待

无锁只要求有一个线程可以在有限步内完成操作,二无等待要求所有的线程都必须在有限步内完成;这样就不会引起饥饿问题;

一个典型的无等待结构就是RCU(Read-Copy-Update)。它的基本思想是对数据的读不加控制,所有的读都是无等待的,但在写数据的时候,先取得原数据的副本,接着只修改副本数据,在合适的时间内再返回;

上一篇:雅虎的衰落,对我们有何启示(下)
下一篇:jmm的一些特性

“因材施教,分级培优”十问十答

达内举办“2016授课讲师资格认证培训“,不断提升教学品质

达内牵手猿圈科技,打造技能测评、学习、就业一站式服务

毕业三年之内能转行学编程吗?

选择城市和中心
贵州省

广西省

海南省

台湾