
java 高并发
文章平均质量分 88
zhlflylinux
这个作者很懒,什么都没留下…
展开
-
线程池.md
一.什么是线程池? 为何会有线程池这个概念呢?为了避免系统频繁地创建和销毁线程,将创建的线程进行复用。由此线程池的概念应运而生,简而言之,创建线程变成了从线程池中获得空闲线程,关闭线程变成了向池子归还线程。 二.引入JDK 多线程在一定程度上以最大限度地发挥现代多核处理器的计算能力,但是如果不加控制和管理的随意使用线程,对系统的性能反而会产生不利的影响; 2.1 j原创 2016-10-30 20:03:04 · 285 阅读 · 0 评论 -
JDK并发包-(上).md
一.并发工具概述分为以下两个方面: a.体系结构 b各个组成部分与作用 传统的多线程并没有提供高级特性,例如:信号量,线程池和执行管理器等,而这些特性恰恰有助于创建更加强大的并发程序,新的Fork/Join框架针对当前的多核系统,也提供了并行编程的可行性; 并发的的体系结构: (1)并发工具处于java.until.concurrent包; (2)同步器:为每种特定的同步问题提供了解决原创 2016-10-30 20:09:58 · 338 阅读 · 0 评论 -
JDK并发包-(下).md
三.并发工具 从以下四个方面来学习:执行器,锁与原子操作,流编程,Fork/Join框架; 3.1.执行器 从两个方面来学习,首先学习执行器的基本概念,其次学习与执行器相关的接口Callable和Future。 (1)用于启动并控制线程的执行 (2)核心接口为Executor,包含一个execute(Runnable)用于指定被执行的线程 (3)ExecutorService接口用原创 2016-10-30 20:14:06 · 324 阅读 · 0 评论 -
java高并发-并行模式(上).md
并发:当有多个线程在操作时,如果系统只有一个CPU,则它根本不可能真正同时进行一个以上的线程,它只能把CPU运行时间划分成若干个时间段,再将时间段分配给各个线程执行,在一个时间段的线程代码运行时,其他线程处于挂起状态。 并行:当系统有一个以上的CPU时,则操作的过程有可能非并发,当一个CPU执行一个线程时,另一个CPU可以执行另一个线程,两个线程互不抢占CPU资源,可以同时进行。 单例设原创 2016-10-30 20:26:10 · 816 阅读 · 0 评论 -
java高并发-并行模式(下).md
高性能的生产者-消费者:无锁的实现 在上文中,BlockingQueue用于实现生产者-消费者,其作为生产者和消费者的内存缓冲区,目的是为了方便共享数据,但BlockigQueue并不是一个高性能的实现,它完全使用锁和阻塞来实现线程间的同步,在高并发的场合下,它的性能不是很优越,ConcurrentLinkedQueue是一个高性能的队列,其秘诀在于大量使用了无锁的CAS操作; 阻塞方式原创 2016-10-30 20:37:45 · 1315 阅读 · 0 评论