
实战java高并发程序设计
在知识的海洋中遨游
github项目网址:https://github.com/lrn-white/meetingmanagement<br>优快云博客:https://blog.youkuaiyun.com/qq_33283652
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
实战java高并发程序设计(一、走入并发世界)
第一章 走入并发世界1.1 基本概念1.1.1同步和异步:去商场买台空调,顾客选定好样品后,售货员去仓库取货,顾客要等待取回空调后一起回家,这个过程叫同步。顾客如果选择网购,在网上下完单后,可以干些别的事,快递员回将空调送货上门,这个过程叫异步。1.1.2并发和并行:并发和并行都可以表示多个任务一起执行。并发偏重于多个任务交替执行,多个任务间还有可能是串行的,而并行是真正意义上的同时执行。比如爬山...原创 2018-05-14 10:30:11 · 481 阅读 · 1 评论 -
实战java高并发程序设计(二、Java并行程序基础)
二、Java并行程序基础2.1新建线程: Thread thread = new Thread(); thread.start();调用start()方法后自动调用run()方法,但线程新建时不能直接调用run()方法。public class Client { public static void main(String[] args) { ...原创 2018-05-14 14:25:55 · 661 阅读 · 0 评论 -
实战Java高并发程序设计(四、锁的优化及注意事项)
在多核时代,使用多线程可以明显地提升系统的性能。但事实上,使用多线程会额外增加系统的开销。对于单任务或单线程的应用来说,其主要资源消耗在任务本身。对于多线程来说,系统除了处理功能需求外,还需要维护多线程环境特有的信息,如线程本身的元数据,线程的调度,线程上下文的切换等。4.1有助于提高锁性能的建议4.1.1减少锁持有的时间如果线程持有锁的时间越长,锁的竞争程度越激烈。4.1.2减少...原创 2018-10-11 10:49:09 · 194 阅读 · 0 评论 -
实战Java高并发程序设计(3.1同步控制)
3.1重入锁重入锁使用java.util.concurrent.locks.ReentrantLock来实现public class Test implements Runnable { public static ReentrantLock lock = new ReentrantLock(); public static int i = 0; @Overr...原创 2018-09-29 17:12:46 · 163 阅读 · 0 评论 -
实战Java高并发程序设计(3.2 线程池)
1.Executorjdk提供了一套Executor框架,本质上是一个线程池。newFixedThreadPool()方法:该方法返回一个固定数量的线程池。该线程池中的线程数量始终不变,当有一个新任务提交时,线程池中若有空闲线程,则立即执行,若没有,则任务会暂存在一个任务队列中,待有线程空闲时,便处理在任务队列中的任务。 newSingleThreadExecutor():该方法返回一个...原创 2018-10-09 15:25:41 · 189 阅读 · 0 评论 -
实战Java高并发程序设计(五、并行模式与算法)
5.1单例模式单例模式:是一种常用的软件设计模式,在它的核心结构中值包含一个被称为单例的特殊类。一个类只有一个实例,即一个类只有一个对象实例。 对于系统中的某些类来说,只有一个实例很重要,例如,一个系统中可以存在多个打印任务,但是只能有一个正在工作的任务;售票时,一共有100张票,可有有多个窗口同时售票,但需要保证不要超售(这里的票数余量就是单例,售票涉及到多线程)。如果不是用机制对窗口对...原创 2018-10-24 13:38:53 · 244 阅读 · 0 评论