1 package com.xt.thinks21_2; 2 3 import java.util.concurrent.ExecutorService; 4 import java.util.concurrent.Executors; 5 import java.util.concurrent.....
分类:
编程语言 时间:
2015-04-22 01:50:08
阅读次数:
162
http://blog.csdn.net/lostyears/article/details/7436802 Windows平台上伸缩性最好的一种I/O模型莫过IOCP了,不过设计和实现起来比较复杂一些。针对成千上万个套接字的并发处理,IOCP采用了线程池+队列+重叠结构的内核机制完成任务。需要说....
线程饥饿死锁
《Java并发编程实践》中对线程饥饿死锁的解释是这样的:在使用线程池执行任务时,如果任务依赖于其他任务,那么就可能产生死锁问题。在单线程的Executor中,若果一个任务将另一个任务提交到同一个Executor,并且等待这个被提交的任务的结果,那么这必定会导致死锁。第一个任务在工作队列中,并等待第二个任务的结果;而第二个任务则处于等待队列中,等待第一个任务执行完成后被执行...
分类:
编程语言 时间:
2015-04-21 14:40:38
阅读次数:
151
1、背景:为了减少系统的资源或者达到资源共享的目的,要求系统中只保存一个实例,即单例。并且提供一个访问该实例的全局接口。在现实系统设计中也大量使用了这种模式,如window任务管理窗口、管理配置文件对象,线程池等等。2、例子
2.1 系统配置文件,系统重启时加载配置文件,保存在内存中
2.2 数据库连接池,维护数据库设定的连接数,负责提供数据库连接,回收数据库连接
3、单...
分类:
其他好文 时间:
2015-04-21 11:14:11
阅读次数:
126
java多线程如何应用呢,几乎学java的同学都知道Thread类和Runable接口。继承Thread类或者实现Runable接口,调用thread的start方法即可启动线程。 然后是线程池,就是启动一系列的线程,当需要启动某个线程时,从线程池中拿取一个线程。 最近使用到需要启动一个线程进行复....
分类:
编程语言 时间:
2015-04-20 18:14:40
阅读次数:
196
private static readonly Object ThisLock = new object();private static readonly AutoResetEvent AutoReset = new AutoResetEvent(false);private static int...
分类:
编程语言 时间:
2015-04-20 11:06:43
阅读次数:
162
Executor框架是指java 5中引入的一系列并发库中与executor相关的一些功能类,其中包括线程池,Executor,Executors,ExecutorService,CompletionService,Future,Callable等。他们的关系为:并发编程的一种编程方式是把任务拆分为...
分类:
编程语言 时间:
2015-04-20 00:22:08
阅读次数:
193
参考:http://blog.csdn.net/hitlion2008/article/details/79834492.3之前 AsyncTask有个全局的线程池 最大的值是5 超过后只能等待执行3.0后增加了excuteOnExcutor方法 设置自定义线程池.但是默认线程池是个顺序线程池每次只...
分类:
移动开发 时间:
2015-04-19 17:26:21
阅读次数:
191
线程池虽然好用,但限制也不少:(1)总觉得默认的 MaxThread 小了一点,每次使用都要手工调大= =(2)任务不能等待完成(3)任务一旦加入不能取消,甚至不知道是正在排队/正在执行/执行完毕(4)最恶心的一点,全是 MTAThread,好多COM都不能用。ClipBoard、WebBrowse...
分类:
编程语言 时间:
2015-04-19 06:24:38
阅读次数:
190