12 2018 档案

摘要:1.定义 重入锁:能够支持一个线程对资源的重复加锁,也就是当一个线程获取到锁后,再次获取该锁时而不会被阻塞。 2.可重入锁的应用场景 2.1 如果已经加锁,则不再重复加锁,比如:交互界面点击后响应时间长,可能会多次点击,使用重入锁可防止后台重复执行。 2.2 如果发现该操作已经在执行,则等待一段时间 阅读全文
posted @ 2018-12-25 16:16 51life 阅读(723) 评论(0) 推荐(0)
摘要:java中的线程池是应用场景最多的并发框架,合理使用线程池能带来三个好处: 第一:降低资源消耗。通过重复利用已经创建的线程降低创建线程和销毁线程造成的资源消耗。 第二:提高响应速度。当任务到达时,任务可以不需要等到线程创建就能立即执行。 第三:提高线程的可管理性。线程是稀缺资源,如果无限制的创建,会 阅读全文
posted @ 2018-12-19 14:38 51life 阅读(374) 评论(0) 推荐(0)
摘要:1.Callable和Runnable 看Callable接口: 看Runnable接口: Callable和Runnable都代表着任务,不同之处在于Callable有返回值,并且能抛出异常,Runnable任务执行结束之后没有返回值。Callable一般和Future一起使用,可以获取任务返回结 阅读全文
posted @ 2018-12-19 13:57 51life 阅读(605) 评论(0) 推荐(0)
摘要:1.ConcurrentHashMap原理介绍(JDK1.7) 我们知道HashTable在并发情况下效率低的原因是所有访问HashTable的线程都必须竞争同一把锁,这就导致一旦一个线程获取了锁,其余所有的线程都必须处于等待状态。而ConcurrentHashMap使用的是锁分段技术,就是将数据分 阅读全文
posted @ 2018-12-17 10:54 51life 阅读(364) 评论(1) 推荐(1)