Java并发包之线程池

Java并发包之线程池
在之前的所有案例中,我们总是通过启动一个新的线程来执行新的任务。对于一些小的应用来说, 这是OK的,但是对于一些大型的应用来说,这是不太合适的。例如对于一个高并发的web服务器,如果每一个HTTP请求,我们都使用一个新的线程来处理, 那么内存中必然会存在大量的线程,线程的上下文切换以及线程的创建与销毁,都会消耗大量的资源。 因此我们最好将线程的管理、创建、销毁等操作与线程需要执行的任务...

Java并发容器之ConcurrentHashMap精讲

Java并发容器之ConcurrentHashMap精讲
ConcurrentHashMap是Java5中新增加的一个线程安全的Map集合,可以用来替代HashTable。对于ConcurrentHashMap是如何提高其效率的,可能大多人只是知道它使用了多个锁代替HashTable中的单个锁,也就是锁分离技术(Lock Stripping)。实际上,ConcurrentHashMap对提高并发方面的优化,还有一些其它的技巧在里面(比如你是否知道在get操作的时候,它是否也使用了锁来保护?)。 ConcurrentMap 提供其他原子 put...

并发编程之可见性、有序性和原子性的理解

并发编程之可见性、有序性和原子性的理解
并发处理的广泛应用使得Amdahl定律代替摩尔定律成为计算机性能发展源动力的根本原因,也是人类“压榨”计算机运算能力的最有力武器。 在学习并发编程,很多概念需要理解透彻,理解清楚。 其中有三个基本的关注点: 安全性,也就是正确性,指的是程序灾并发情况下执行的结果和预期一致 活跃性,比如死锁,活锁 性能,减少上下文切换,家少内核调用,较少一致性流量等等 安全性问题是首要解决的问题,保证程...
Copyright © If Coding 保留所有权利.   Theme  Ality   

用户登录