当前位置: 首页 > news >正文

北京怀柔做网站管理运营的公司杭州关键词推广优化方案

北京怀柔做网站管理运营的公司,杭州关键词推广优化方案,企业网络推广计划,十堰网络公司排名对象池模式#xff0c;Object Pool Pattern#xff0c;当你的应用程序需要频繁创建和销毁某种资源#xff08;比如数据库连接、线程、socket连接等#xff09;时#xff0c;Object Pool 设计模式就变得很有用。它通过预先创建一组对象并将它们保存在池中#xff0c;以便在…对象池模式Object Pool Pattern当你的应用程序需要频繁创建和销毁某种资源比如数据库连接、线程、socket连接等时Object Pool 设计模式就变得很有用。它通过预先创建一组对象并将它们保存在池中以便在需要时重复使用从而避免了频繁的创建和销毁操作提高了性能和资源利用率换言之用空间换时间。 类图 Object Pool 模式通常由以下几个组件组成 1. 对象池Object Pool 它是一个保存对象实例的集合这些对象在需要时被获取并在不再需要时被释放。对象池还会跟踪哪些对象当前正在被使用哪些是可用的。对象池分三层分别是 ObjectPool, AbstractObjectPool, ConcreteObjectPool. 2. 对象工厂Object Factory 负责创建对象实例并将它们添加到对象池中。当池中没有可用对象时工厂可能会创建新的对象但通常是预先创建一组对象并初始化它们。对象工厂分两层分别是ObjectFactory和ConcreteObjectFactory. 3. 池化对象Poolable Object 存在于对象池中的对象实例。池化对象也分两层分别是PoolableObject和ConcretePoolableObject. Object Pool 的优点包括 性能提升避免了频繁的创建和销毁对象减少了系统开销。资源利用率提高通过重用对象实例减少了资源的浪费。减少竞争在多线程环境下对象池可以减少线程之间对资源的竞争提高了并发性能。 但是Object Pool 也可能存在一些缺点比如可能会增加代码的复杂性特别是在处理对象状态和资源管理方面。此外如果对象的创建和销毁开销相对较小使用对象池可能会产生额外的开销。因此在使用 Object Pool 模式时需要权衡利弊。 示例 import java.util.concurrent.BlockingQueue; import java.util.concurrent.LinkedBlockingQueue;public class ThreadPool {private BlockingQueueRunnable taskQueue;private Thread[] pool;public ThreadPool(int poolSize, int taskQueueSize) {taskQueue new LinkedBlockingQueue(taskQueueSize);pool new Thread[poolSize];for (int i 0; i poolSize; i) {pool[i] new Worker(Thread- i);pool[i].start();}}public void submit(Runnable task) throws InterruptedException {taskQueue.put(task);}private class Worker extends Thread {public Worker(String name) {super(name);}Overridepublic void run() {while (true) {try {Runnable task taskQueue.take();task.run();} catch (InterruptedException e) {Thread.currentThread().interrupt();break;}}}}public static void main(String[] args) {// 创建一个线程池包含3个线程任务队列容量为5ThreadPool threadPool new ThreadPool(3, 5);// 提交10个任务到线程池for (int i 0; i 10; i) {int taskId i;try {threadPool.submit(() - {System.out.println(Task taskId is running on Thread.currentThread().getName());try {Thread.sleep(1000); // 模拟任务执行时间} catch (InterruptedException e) {e.printStackTrace();}});} catch (InterruptedException e) {e.printStackTrace();}}} }运行结果 Task 0 is running on Thread-0 Task 2 is running on Thread-2 Task 1 is running on Thread-1 Task 5 is running on Thread-0 Task 4 is running on Thread-2 Task 3 is running on Thread-1 Task 8 is running on Thread-1 Task 6 is running on Thread-0 Task 7 is running on Thread-2 Task 9 is running on Thread-2 结论 可见同一时间只有3个线程在工作直到将10个任务全部完成。
http://www.zqtcl.cn/news/660751/

相关文章:

  • 2网站建设城乡住房建设网站
  • 游戏网站建设公司建设银行网站登陆二星是什么意思
  • 长春网站排名优化泉州网站建设方案服务
  • 教育培训机构加盟十大排名搜索引擎优化宝典
  • 全景精灵网站建设网站建设长尾关键词
  • 老城网站建设注册网站不需要手机验证的
  • 可以赚钱做任务的网站有哪些莘县做网站
  • 可信网站 认证规则山东网站建设代理
  • 网站怎么谈设计常用的软件开发文档有哪些
  • 该怎么给做网站的提页面需求焦作做网站公司
  • 自己做的网站找不到了制作网站问题和解决方法
  • 5118站长平台cento安装wordpress
  • 政务大厅网站建设管理制度wordpress商城移动端
  • 提供中小企业网站建设北京企业网站建设公司哪家好
  • 做海报找图片的网站黑群晖按照wordpress
  • 网站建设与运营市场开拓方案网站首页策划
  • 做国外网站什么好网站快速优化排名排名
  • 如东做网站专注高密网站建设
  • dw网页设计作品简单宁波seo排名方案
  • 网站做微信接口吗小说网站首页模板
  • 网站正在建设中html个人站长做网站需要多少钱
  • 做推广便宜的网站有哪些数据网站建设哪家好
  • 中介网站制度建设wordpress genesis
  • 广东贸易网站开发用数据库做学校网站论文
  • 关于省钱的网站名字东莞哪些网络公司做网站比较好
  • net网站建设多少前MAC怎么做网站
  • 创建网站流程图国内高清图片素材网站推荐
  • 淄博住房和城乡建设局网站建设外贸网站哪家好
  • dede网站地图路径密云区免费网站建设
  • 男女做那事是什 网站软文网