摘要: 概述 之前讲解Thread类中方法的时候,interrupt()、interrupted()、isInterrupted()三个方法没有讲得很清楚,只是提了一下。现在把这三个方法同一放到这里来讲,因为这三个方法都涉及到多线程的一个知识点 中断机制。 Java没有提供一种安全、直接的方法来停止某个线程 阅读全文
posted @ 2015-10-05 22:08 五月的仓颉 阅读(4789) 评论(8) 推荐(3) 编辑
摘要: 线程组 可以把线程归属到某一个线程组中,线程组中可以有线程对象,也可以有线程组,组中还可以有线程,这样的组织结构有点类似于树的形式,如图所示: 线程组的作用是:可以批量管理线程或线程组对象,有效地对线程或线程组对象进行组织。 线程关联线程组:1级关联 所谓1级关联就是父对象中有子对象,但并不创建孙对 阅读全文
posted @ 2015-10-05 18:34 五月的仓颉 阅读(12321) 评论(6) 推荐(8) 编辑
摘要: Queue是什么 队列,是一种数据结构。除了优先级队列和LIFO队列外,队列都是以FIFO(先进先出)的方式对各个元素进行排序的。无论使用哪种排序方式,队列的头都是调用remove()或poll()移除元素的。在FIFO队列中,所有新元素都插入队列的末尾。 Queue中的方法 Queue中的方法不难 阅读全文
posted @ 2015-10-05 16:07 五月的仓颉 阅读(7995) 评论(2) 推荐(3) 编辑
摘要: 什么是生产者/消费者模型 一种重要的模型,基于等待/通知机制。生产者/消费者模型描述的是有一块缓冲区作为仓库,生产者可将产品放入仓库,消费者可以从仓库中取出产品,生产者/消费者模型关注的是以下几个点: 生产者生产的时候消费者不能消费 消费者消费的时候生产者不能生产 缓冲区空时消费者不能消费 缓冲区满 阅读全文
posted @ 2015-10-05 14:55 五月的仓颉 阅读(11808) 评论(13) 推荐(2) 编辑
摘要: 读写锁ReentrantReadWriteLock概述 大型网站中很重要的一块内容就是数据的读写,ReentrantLock虽然具有完全互斥排他的效果(即同一时间只有一个线程正在执行lock后面的任务),但是效率非常低。所以在JDK中提供了一种读写锁ReentrantReadWriteLock,使用 阅读全文
posted @ 2015-10-05 13:20 五月的仓颉 阅读(5346) 评论(2) 推荐(1) 编辑
摘要: 公平锁与非公平锁 ReentrantLock有一个很大的特点,就是可以指定锁是公平锁还是非公平锁,公平锁表示线程获取锁的顺序是按照线程排队的顺序来分配的,而非公平锁就是一种获取锁的抢占机制,是随机获得锁的,先来的未必就一定能先得到锁,从这个角度讲,synchronized其实就是一种非公平锁。非公平 阅读全文
posted @ 2015-10-05 12:22 五月的仓颉 阅读(5114) 评论(10) 推荐(4) 编辑