摘要: 信号量: 可以使用信号量来限制访问一个共享资源的线程数。 信号量指对共同资源进行访问控制的对象。在访问资源之前,线程必须从信号量获取许可。在访问完资源之后,这个线程必须将许可返回给信号量。 为了创建信号量,必须确定许可的数量,同时可炫耀公平策略。 java.util.concurrent.Semap 阅读全文
posted @ 2017-08-30 23:35 kangjie 阅读(233) 评论(0) 推荐(0) 编辑
摘要: Java合集框架提供了ArrayBlockingQueue , LinkedBlockingQueue 和 PriorityBlockingQueue来支持阻塞队列。 阻塞队列(blocking queue) 在试图向一个满队列添加元素或者从空队列中删除元素时会导致线程阻塞。BlockingQueu 阅读全文
posted @ 2017-08-30 23:23 kangjie 阅读(252) 评论(0) 推荐(0) 编辑
摘要: 泛型: 泛型可以使我们在编译时而不是在运行时检测出错误。 泛型(generic) 可以参数化类型。这个能力是我们可以定义带泛型类型的类或方法,随后编译器会用具体的类型来替换它。 泛型类型必须是引用类型。不能使用int , double 或 char 这样的基本类型来替换泛型类型。 必须使用 Arra 阅读全文
posted @ 2017-08-30 14:21 kangjie 阅读(148) 评论(0) 推荐(0) 编辑
摘要: 演示线程的协调: 假设使用缓冲区存储整数。缓冲区的大小是受限的。缓冲区提供write(int)方法将一个int值添加到缓冲区中去,还提供方法read() 从缓冲区充读取和删除一个int 值。 为了同步这个操作,使用具有两个条件的锁:notEmpty(即缓冲区非空) 和 notFull(即缓冲区未满) 阅读全文
posted @ 2017-08-30 10:41 kangjie 阅读(291) 评论(0) 推荐(0) 编辑