学java这么久,对其每个版本的特性不是怎么了解,今天总结一下。1.4: java NIO,基于多路复用技术(基于IO)1.5 枚举、foreach、static导入 范型(重要) 注解(配置文件作用) 线程池以及同步库(并发)1.6 主要是简化webservice的开发的改进 awt...
分类:
编程语言 时间:
2014-08-26 07:28:25
阅读次数:
198
一简介线程的使用在java中占有极其重要的地位,在jdk1.4极其之前的jdk版本中,关于线程池的使用是极其简陋的。在jdk1.5之后这一情况有了很大的改观。Jdk1.5之后加入了java.util.concurrent包,这个包中主要介绍java中线程以及线程池的使用。为我们在开发中处理线程的问题...
分类:
编程语言 时间:
2014-08-25 14:53:54
阅读次数:
245
TBOX的线程池通过在每个worker中批量一次拉取多个task,对锁的竞争进行了优化。 由于每个task的函数实现不会太多,所以可以根据每个task的函数地址做hash,统计出每个task执行所花费的平均时间。然后根据这个平均...
分类:
编程语言 时间:
2014-08-25 10:13:54
阅读次数:
235
答案是:
如果你取消了一个操作,它不会马上就发生。它会在未来的某个时候某人在“main”函数中明确地检查isCancelled==YES时被取消掉;否则,操作会一直执行到完成为止。因为整个线程池是异步的.cancelAllOperations 相当于 把你加入队列中的所有线程 cancel 但是 这个操作必须有 但是 不能作为你用“取消所有线程”的按钮 你点击取消 设置一个参数 isca...
分类:
其他好文 时间:
2014-08-22 16:23:59
阅读次数:
494
多线程模型设计是一个比较复杂的逻辑,但是python对于多线程的处理却有种种方便的类库,不需要过多的纠结线程间的操作细节。比如[multiprocessing.Pool](https://docs.python.org/2/library/multiprocessing.html...
分类:
编程语言 时间:
2014-08-21 17:27:04
阅读次数:
339
一,servlet容器如何同时处理多个请求。 Servlet采用多线程来处理多个请求同时访问,Servelet容器维护了一个线程池来服务请求。 线程池实际上是等待执行代码的一组线程叫做工作者线程(Worker Thread),Servlet容器...
分类:
编程语言 时间:
2014-08-21 13:30:54
阅读次数:
215
ScheduledThreadPoolExecutor是ThreadPoolExecutor的子类,同时实现了ScheduledExecutorService接口。public class ScheduledThreadPoolExecutor extends ThreadPoolEx...
分类:
编程语言 时间:
2014-08-21 12:53:44
阅读次数:
190
在listview中如果每个item都有图片需要下载的话,我们就得考虑由于大量图片加载而导致的oom(out of memory)问题。
一个典型的做法是,下载图片的时候看看缓存中有没有该图片,如果缓存中没有,就从sd卡中读取,如果sd卡中还没有,再去服务器下载,下载下来的图片先放在sd卡中,并放到缓存中。如此周而复始。
这其中涉及到的就是缓存怎么设计,比较通用的做法就是使用LRU算法来缓存图片,先在手机端设置一个内存区域用于缓存图片,然后将我们下载的图片以键值对的形式丢进去,这样我们就能取到相应的图片啦,...
分类:
其他好文 时间:
2014-08-21 00:17:03
阅读次数:
248
1.减少了创建和销毁线程的次数,每个工作线程都可以被重复利用,可执行多个任务。
2.可以根据系统的承受能力,调整线程池中工作线线程的数目,防止因为消耗过多的内存,而把服务器累趴下(每个线程需要大约1MB内存,线程开的越多,消耗的内存也就越大,最后死机)。
Java里面线程池的顶级接口是Executor,但是严格意义上讲Executor并不是一个线程池,而只是一个执行线程的工具。真正的线程池接口...
分类:
编程语言 时间:
2014-08-21 00:14:33
阅读次数:
322