摘要: 通过它可以实现让一组线程等待至某个状态之后再全部同时执行。叫做回环是因为当所有等待线程都被释放以后,CyclicBarrier可以被重用。我们暂且把这个状态就叫做barrier,当调用await()方法之后,线程就处于barrier了. CyclicBarrier类位于java.util.concu 阅读全文
posted @ 2015-10-25 21:53 moonandstar08 阅读(444) 评论(0) 推荐(0) 编辑
摘要: Java里面线程池的顶级接口是Executor,但是严格意义上讲Executor并不是一个线程池,而只是一个执行线程的工具。真正的线程池接口是ExecutorService。下面这张图完整描述了线程池的类体系结构。首先Executor的execute方法只是执行一个Runnable的任务,当然了从某... 阅读全文
posted @ 2015-10-25 21:07 moonandstar08 阅读(319) 评论(0) 推荐(0) 编辑
摘要: 1、Thread 类中的start() 和 run() 方法有什么区别?Thread.start()方法(native)启动线程,使之进入就绪状态,当cpu分配时间该线程时,由JVM调度执行run()方法。当你调用start()方法时你将创建新的线程,并且执行在run()方法里的代码。但是如果你直接... 阅读全文
posted @ 2015-10-25 20:37 moonandstar08 阅读(1451) 评论(0) 推荐(0) 编辑
摘要: 1.Java的HashMap是如何工作的?HashMap是一个针对数据结构的键值,每个键都会有相应的值,关键是识别这样的值。HashMap 基于 hashing 原理,我们通过 put ()和 get ()方法储存和获取对象。当我们将键值对传递给 put ()方法时,它调用键对象的 hashCode... 阅读全文
posted @ 2015-10-25 20:11 moonandstar08 阅读(379) 评论(0) 推荐(0) 编辑