随笔分类 -  并发和分布式

摘要:并发包中引入了线程池,好处是: 可以制定灵活的运行策略,比如single的,保证一个一个运行,fixed的可以保证一次只运行一定数量的线程 线程池可以将线程关闭 线程池可以使线程之间进行通讯 锁的好处是: 有公平锁,可以实现先来的线程,先执行 通过lock(reentrantelock)和condi 阅读全文
posted @ 2017-10-17 22:59 Hill_Dong 阅读(105) 评论(0) 推荐(0)
摘要:Synchronized是jvm的内部机制,ReentrantLock是并发包中的对象 后者相对于前者有很多好处: synchronized关键字同步的时候,等待的线程将无法控制,只能死等。 解决方式:ReentrantLock可以使用tryLock(timeout, unit)方法去控制等待获得锁 阅读全文
posted @ 2017-10-07 15:25 Hill_Dong 阅读(100) 评论(0) 推荐(0)
摘要:有一个网友在高并发下使用下面的日期转换工具类时,遇到的问题 public class DateUtil { private DateUtil(){ } private static final DateFormat DATE_FORMAT = new SimpleDateFormat("yyyy-M 阅读全文
posted @ 2017-10-07 15:01 Hill_Dong 阅读(1892) 评论(0) 推荐(0)
摘要:什么是守护线程,什么是非守护线程 用户线程:非守护线程包括常规的用户线程或诸如用于处理GUI事件的事件调度线程,Java虚拟机在它所有非守护线程已经离开后自动离开。 守护线程:守护线程则是用来服务用户线程的,比如说GC线程。如果没有其他用户线程在运行,那么就没有可服务对象,也就没有理由继续下去。 守 阅读全文
posted @ 2017-10-07 11:50 Hill_Dong 阅读(196) 评论(0) 推荐(0)
摘要:设计并发策略 分析任务需要在哪个线程中执行 任务按照什么样的顺序执行 需要多少个并发执行 在等待队列中,有多少个任务等待执行 如果系统由于过载拒绝一个任务,那么应该拒绝哪个任务,如何通知应用程序,被拒绝的任务 在执行任务之前和之后,我们需要做哪些工作 Executor提供了提交和任务运行解耦,根据需 阅读全文
posted @ 2017-10-07 11:10 Hill_Dong 阅读(121) 评论(0) 推荐(0)