摘要:
Java进阶7并发优化4——JDK并发数据结构20131114由于并发程序和串行程序的不同特点,在串行程序中使用的数据结构可能无法在并行程序中直接的正常使用,因为这些数据结构可能不是线程安全的,所以这一次并发程序的优化介绍的是并发程序中的数据结构,比如并发List,并发Set,并发Map等。1.并发List Vector实现的List接口,CopyOnWriteArrayList也是实现的List接口,这两个List的实现是线程安全的,但是对于ArrayList不是线程安全的,所以在多线程中尽量避免使用ArrayList,如果因为某些原因必须使用的话,需呀使用同步机制: Collection. 阅读全文
posted @ 2013-11-23 12:35
追梦的飞飞
阅读(888)
评论(0)
推荐(0)
摘要:
Java进阶7并行优化JDK多任务执行框架技术20131114Java语言本身就是支持多线程机制的,他提供了Thread类Runnable接口等简单的多线程支持工具,同时为了进一步改善并发程序的性能,在JDK中还提供了用于多线程管理的线程池概念。并行优化中,一个重要的知识点就是线程池技术。ExecutorService exe = Executors.newCachedThreadPool();1.无限制线程的缺陷多线程设计的软件方法确实可以最大限度的发挥现代多核处理器的计算能力,提高生产系统的吞吐量和性能。但是如果不加控制的随意的使用多线程技术,对于系统性能反而会产生不利的影响,线程的创建, 阅读全文
posted @ 2013-11-23 12:34
追梦的飞飞
阅读(2014)
评论(0)
推荐(0)
摘要:
Java进阶7并发优化2并行程序设计模式201311141.Master-worker模式前面讲解了Future模式,并且使用了简单的FutureTask来实现并发中的Future模式。下面介绍的是Master-Worker模式。这个模式也是经常使用的并发模式之一,核心思想就是系统有两类线程协同工作:Master线程和Worker线程。Master线程负责接收和分配任务,Worker线程负责处理这些子任务。当每一个worker线程处理完成之后,将结果返回给Master线程,有Master线程负责整合结果。他的好处在于能够将一个大的任务拆分成为若干个小任务,并且能够并行执行,从而提高系统的吞吐量 阅读全文
posted @ 2013-11-23 12:33
追梦的飞飞
阅读(487)
评论(0)
推荐(0)
摘要:
Java进阶7并发优化1并行程序的设计模式20131114本章重点介绍的是基于Java并行程序开发以及优化的方法,对于多核的CPU,传统的串行程序已经很好的发回了CPU性能,此时如果想进一步提高程序的性能,就应该使用多线程并行的方式挖掘CPU的潜能。本章知识点:常用的多线程设计模式,比如Future模式,Master-Worker模式,Guarded Suspeionsion模式、不变模式、生产者消费者模式等等。JDK内置的多线程框架和各种线程池技术;JDK内置的并发数据结构;JDK并发控制方式,比如内部锁,重入锁,读写锁,ThreadLocal变量,信号量等等有关锁的一些优化方法;使用无锁的 阅读全文
posted @ 2013-11-23 12:29
追梦的飞飞
阅读(508)
评论(0)
推荐(0)
摘要:
Java进阶6异常处理的陷阱20131113异常处理机制是Java语言的特色之一,尤其是Java的Checked异常,更是体现了Java语言的严谨性:没有完善的错误的代码根本就不会被执行。对于Checked异常,Java程序要么声明抛出,要不使用try .. catch捕获程序运行过程中抛出的异常,进行处理。Java开发程序员都是无法回避异常处理的情况,Java异常处理同样存在着一些迷惑的地方。例如在finally代码块执行的规则是怎样的?程序中遇到return语句之后还会执行finally代码块吗?程序遇到System.exit()的时候还会执行finally代码块吗?1.正确关闭资源的方式 阅读全文
posted @ 2013-11-23 12:28
追梦的飞飞
阅读(290)
评论(0)
推荐(0)
浙公网安备 33010602011771号