1、java.util.concurrent Class Executurspublic class Executors extends Object其中提供了返回类型为Executor、ExecutorService、ScheduledExecutorService、ThreadFactory和....
分类:
编程语言 时间:
2015-05-27 13:45:31
阅读次数:
170
一 为什么需要并发?
或许我们想到的第一个理由是:使程序更快的执行,确实,对于多处理器的机器来说,利用并发将每个任务分配到多个CPU上,能使程序更快的执行。
但在单处理器机器上运行并发程序,由于上下文切换(CPU控制权由运行任务转移到另外一个就绪任务时所发生的事件)的代价,开销甚至比顺序执行还要大,那是不是说,并发对于单处理器来说就没有作用了呢?
其实不然,因为考虑到一种情况“阻塞”,如果没有...
分类:
其他好文 时间:
2015-05-27 12:26:40
阅读次数:
192
有一些对象其实我们只需要一个,比方说:线程池(threadpool)、缓存(cache)、对话框、处理偏好设置和注册表(registry)的对象、日志对象,充当打印机、显卡等设备的驱动程序的对象。事实上,这类对象只能有一个实例,如果制造出多个对象,就会导致许多的问题产生,例如:程序的行为异常、资源使用过量,或者是不一致的结果。...
分类:
编程语言 时间:
2015-05-26 16:16:30
阅读次数:
240
基本认识以下摘自百度百科
线程池的概念:线程池是一种多线程处理形式,处理过程中将任务添加到队列,然后在创建线程后自动启动这些任务。
线程池的作用:在面向对象编程中,创建和销毁对象是很费时间的,因为创建一个对象要获取内存资源或者其它更多资源。在Java中更是如此,虚拟机将试图跟踪每一个对象,以便能够在对象销毁后进行垃圾回收。所以提高服务程序效率的一个手段就是尽可能减少创建和销毁对象的次数,特别是一...
分类:
编程语言 时间:
2015-05-25 10:18:39
阅读次数:
219
首先是实例化的时候的参数的解释//Initialize SmartThreadPool & Make logs//SmartThreadPool m_hThreadPool;//m_hThreadPool = new SmartThreadPool();//声明一个线程池STPStartInfo s...
分类:
其他好文 时间:
2015-05-24 23:33:36
阅读次数:
503
设计模式的概念:
是一套被反复使用、多数人知晓的、经过分类编目的、代码设计经验的总结
设计模式的目的:
使用设计模式是为了可重用代码、让代码更容易被他人理解保证代码可靠性
单例模式:
在程序开发的过程中,有些对象我们只需要一个,比如:
配置文件、工具类、线程池、缓存、日志等
如果创造出多个实例,就会导致许多问题,比如占用过多资源,不一致的结果等
单例模式就是保证当前...
分类:
其他好文 时间:
2015-05-24 14:15:32
阅读次数:
114
单件模式 Singleton Pattern
类只存在一个实例,即只可以创建一个对象。有一些类如果创造出多个对象就会导致许多问题的产生,如程序的行为异常、资源使用过量,或者是不一致的结果。单件模式常常被用来管理共享的资源,例如数据库连接或者线程池。
简要定义:单件模式确保一个类只有一个实例,并提供一个全局访问点
单件模式的实现
单件模式的实现是通过private构造...
分类:
其他好文 时间:
2015-05-24 08:57:01
阅读次数:
116
JAVA线程池中队列与池大小的关系JAVA线程中对于线程池(ThreadPoolExecutor)中队列,池大小,核心线程的关系写出自己的理解:1:核心线程:简单来讲就是线程池中能否允许同时并发运行的线程的数量2:线程池大小:线程池中最多能够容纳的线程的数量。3:队列:对提交过来的任务..
分类:
编程语言 时间:
2015-05-23 18:38:36
阅读次数:
7332
目的 了解线程池的知识后,写个线程池实例,熟悉多线程开发,建议看jdk线程池源码,跟大师比,才知道差距啊O(∩_∩)O 线程池类 1 package thread.pool2; 2 3 import java.util.LinkedList; 4 5 public class Th...
分类:
编程语言 时间:
2015-05-23 16:48:07
阅读次数:
273