当前位置: 首页 > 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.pierceye.com/news/660751/

相关文章:

  • 德阳网站建设公司做抢单软件的网站
  • 金融类的网站怎么做地方门户网站建设多少钱
  • 网站建设周末培训长春网站建设服务
  • 网站宝建站助手呼市地区做网站公司
  • 网站开发需要用到哪些设备建立网站得多少钱
  • 广州最好网站策划外网网站有什么好的推荐
  • 企业营销型企业网站建设cpa推广联盟平台
  • 南山区公司网站制作网站建设都 包括哪些
  • 域名备案网站建设方案公司网站设计怎么做
  • wordpress网站地图生成插件门户网站管理流程
  • 网站设计工程师培训关键词排名优化公司外包
  • 做电影资源网站手机版交通运输部: 优化交通运输领域防控
  • 找人做微信网站无锡响应式网站
  • 温州手机网站制作联系电话装修公司加盟条件
  • 网站后台模板html5淄博桓台网站建设公司
  • 开发app和网站的公司网站开发项目流程图模板
  • 深圳优秀网站建设品牌策略
  • 上海市建设机械行业协会网站石家庄最新招聘
  • Wordpress垂直类目站模版建设官网入口
  • 网站建设发布平台网络界面设计
  • rss 网站插件国内哪个网站做水产比较大
  • 做营销看的网站有哪些内容芜湖做网站推广有哪些公司
  • 网站建设岗位说明新网金商网站
  • 网站域名使用费多少正规抖音代运营公司排名
  • 网站建设后需要交费吗物流公司电话
  • 网站建设 福州wordpress静态文件目录下
  • 鸿顺里网站建设汕头网站排名优化报价
  • 揭阳自助建站软件社区网站建设资金申请
  • 牟平做网站衡水网页网站建设
  • 蒙文门户网站建设phpok企业建站系统