2015年5月26日
摘要: 虽然Timer这个类已经很少用,在实际项目当中都是用第三方定时器项目,如quartz。但是如果研究一下Timer的源码,还是有必要的,因为其中包含了涉及的知识点还是挺多的。比如,自动扩容、优先级队列,还有任务调度的一些策略。 1 /** 2 * 在特定的时间调度特定的任务。 如果 3 ... 阅读全文
posted @ 2015-05-26 18:17 飞机说之代码也疯狂 阅读(230) 评论(0) 推荐(0) 编辑
摘要: 我们知道像线程的sleep、wait等方法都需要捕捉(不能抛出)InterruptedException。什么时候会导致线程抛出这个InterruptedException异常呢? 1 public class ThreadTest { 2 public static void main(St... 阅读全文
posted @ 2015-05-26 16:50 飞机说之代码也疯狂 阅读(235) 评论(0) 推荐(0) 编辑
摘要: 我们知道线程之所以不安全是因为线程之间存在竞争,而存在竞争是因为它们共享资源。因此有时候,我们会需要将资源只在本线程内,资源只与相应的线程存在关系,那么就避免了线程不安全。ThreadLocal就是一个将变量与特定的线程进行绑定的一个类,资源只会属于一个特定的线程。ThreadLocal就是一个Ma... 阅读全文
posted @ 2015-05-26 16:18 飞机说之代码也疯狂 阅读(159) 评论(0) 推荐(0) 编辑
摘要: 我们要启动一个线程,就是调用一个线程实例的start方法。让我们来看看start方法的源码: 1 public synchronized void start() { 2 3 //0值就表示这个线程是新启动的 4 if(threadStatus!=0) { 5 throw new I... 阅读全文
posted @ 2015-05-26 09:51 飞机说之代码也疯狂 阅读(226) 评论(0) 推荐(0) 编辑