• 软件测试技术
  • 软件测试视频
  • 开源软件测试技术
  • 软件测试沙龙
  • 软件测试资料下载
  • 软件测试杂志
  • 软件测试人才招聘

字号: | 推荐给好友 上一篇 | 下一篇

Java 理论与实践 :关于非阻塞算法简介

发布: 2008-10-07 11:38 | 作者: 不详 | 来源: 领测软件测试网采编 | 查看: 23次 | 进入软件测试论坛讨论

领测软件测试网

U!VX MN$[Il c1E
&M)[:A9BZ6w1L&ZaU
t;y7nEg#n4K V图 3. 在尾指针更新后,队列重新处在静止状态软件测试技术第一门户lI} Bv:LITb
软件测试技术第一门户'X's4C{)p;qn\
软件测试技术第一门户.C,r0zwC4ZH!Nq(Q
幕后的非阻塞算法
%x \j#Z d软件测试技术第一门户V"W-d6Y9b
如果深入 JVM 和操作系统,会发现非阻塞算法无处不在。垃圾收集器使用非阻塞算法加快并发和平行的垃圾搜集;调度器使用非阻塞算法有效地调度线程和进程,实现内在锁。在 Mustang(Java 6.0)中,基于锁的 SynchronousQueue 算法被新的非阻塞版本代替。很少有开发人员会直接使用 SynchronousQueue,但是通过 Executors.newCachedThreadPool() 工厂构建的线程池用它作为工作队列。比较缓存线程池性能的对比测试显示,新的非阻塞同步队列实现提供了几乎是当前实现 3 倍的速度。在 Mustang 的后续版本(代码名称为 Dolphin)中,已经规划了进一步的改进。
l&~cnL7^b5`%SYR软件测试技术第一门户0c"L3l @ HU {D
结束语
7z`(b