
多线程
三劫散仙
唯有学习,可以解忧
展开
-
java之使用阻塞队列实现生产者,消费者模式
[b][size=large]在看代码之前,笔者先说几句题外话,生产者-消费者模式,一直是多线程编程中的经典设计模式,不仅仅提现在Java中,各个类C语言,以及其他的一些高级语言中都有实现,在Java 5之前,还没有出现阻塞队列的容器时,实现一个生产者消费者模式,相对来说比较复杂,代码量也比较大,最重要的是设计同步存取时更需要小心谨慎,一不小心就会带来莫名其妙的问题。[/size][/b]...原创 2013-07-22 12:14:19 · 262 阅读 · 0 评论 -
Java7之线程池ForkJoinPool
[b][size=large]许多情况下,在一个程序中使用多线程是有益处的,可以大大提高程序的效率,多线程主要有以下3个优点1,资源利用率更好2,程序设计在某些情况下更简单3,程序响应更快。当然凡事有利就有弊,多线程也会使程序的开发,维护及调试更加复杂,当然如果我们能够扬长避短,在正确的场合下使用多线程,那么它将成为我们程序中开发的利器。[/size][/b][b][size=larg...2013-07-24 17:03:51 · 166 阅读 · 0 评论 -
JAVA中如何使用线程池来管理并行任务
[b][color=olive][size=large]大多数时候,我们都可以采取多线程+线程池的方式,来优化我们程序的处理效率,JAVA在JDK1.5后的并发包,提供了很多方便快捷的并发工具辅助类,来简化并发编程。今天散仙,简单的描述下怎么使用CompletionService和Future来快捷的处理多个并行的任务。需求如下:现在某个盘符的目录下有10个txt文件,每行一个单词...2014-05-09 17:51:14 · 994 阅读 · 0 评论 -
JAVA并发信号量 Semaphore
[b][color=green][size=medium]Semaphore当前在多线程环境下被扩放使用,操作系统的信号量是个很重要的概念,在进程控制方面都有应用。Java 并发库 的Semaphore 可以很轻松完成信号量控制,Semaphore可以控制某个资源可被同时访问的个数,通过 acquire() 获取一个许可,如果没有就等待,而 release() 释放一个许可。比如在Windows下...原创 2014-02-15 10:17:10 · 102 阅读 · 0 评论 -
JAVA 中BIO,NIO,AIO的理解
[b][color=green][size=large]在高性能的IO体系设计中,有几个名词概念常常会使我们感到迷惑不解。具体如下:[table]|序号|问题|1|什么是同步?|2|什么是异步?|3|什么是阻塞?|4|什么是非阻塞?|5|什么是同步阻塞?|6|什么是同步非阻塞?|7|什么是异步阻塞?|8|什么是异步非阻塞?[/table]散仙不才...2014-02-18 13:36:58 · 1136 阅读 · 0 评论 -
Condition 条件变量的使用
[b][color=green][size=large]条件(也称为条件队列 或条件变量)为线程提供了一个含义,以便在某个状态条件现在可能为 true 的另一个线程通知它之前,一直挂起该线程(即让其“等待”)。因为访问此共享状态信息发生在不同的线程中,所以它必须受保护,因此要将某种形式的锁与该条件相关联。等待提供一个条件的主要属性是:以原子方式 释放相关的锁,并挂起当前线程,就像 Object.w...原创 2014-02-21 09:36:47 · 320 阅读 · 0 评论 -
Java线程池小结
[b][size=large]Java通过Executors提供四种线程池,分别为:newCachedThreadPool创建一个可缓存线程池,如果线程池长度超过处理需要,可灵活回收空闲线程,若无可回收,则新建线程。newFixedThreadPool 创建一个定长线程池,可控制线程最大并发数,超出的线程会在队列中等待。newScheduledThreadPool 创建一个定长线程池,...原创 2014-02-21 09:49:03 · 113 阅读 · 0 评论 -
JAVA定时任务的几种方法
[b][size=large]在应用里经常都有用到在后台跑定时任务的需求。举个例子,比如需要在服务后台跑一个定时任务来进行垃圾回收(译者注:个人觉得用定时任务来跑垃圾回收不是很好的例子,从译者接触到的项目来看,比较常见的是用定时任务来进行非实时计算,清除临时数据、文件等)。在本文里,我会给大家介绍3种不同的实现方法:普通thread实现TimerTask实现ScheduledExe...原创 2014-04-10 10:04:35 · 131 阅读 · 0 评论