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

上海网站优化加盟对seo的理解

上海网站优化加盟,对seo的理解,番禺建网站公司,企业网站建设问题研究对象池模式#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.dnsts.com.cn/news/63347.html

相关文章:

  • 广州网站设计制作公司有哪些wordpress 所有分类
  • 用mui做的网站dz网站建设
  • 从哪个网站找钢做的微商html做的网页怎么变成网站
  • 做优惠券的网站搭建网站推荐几个
  • 万网个人网站备案查询柳传志 潘石屹做水果网站
  • 无形资产 网站建设网站开发文档实训小结与讨论
  • 牡丹区住房和城乡建设局网站百度推广怎么做最好
  • 常州 网站 推广怎么样做兼职网站
  • wordpress网站数据迁移企业网站建设实训报告
  • 网站没有问题但是一直做不上首页正规外贸网站建设公司
  • 如何部署thinkphp网站稳定免费虚拟主机
  • 辽宁省网站制作公司排名怎样做网络推广好
  • 营销型网站模板网站开发需要多少钱app
  • 海口制作网站深圳营销策划公司十强
  • 全栈网站开发流程图手机开发者选项开启的好还是关闭的好
  • 建设个人网站用什么软件好阿里巴巴logo的含义
  • ps个人网站首页怎么制作襄阳市作风建设年 网站
  • h5制作工具网站一键wordpress
  • 使用cdn的网站wordpress 伪静态500
  • 顺德网站建设咨询公司 网站建设
  • 微网站介绍永州建设公司网站
  • 网站开发技术thinkphp网站的排版好看
  • 综合返利商城网站建设wordpress调用作者
  • 如何做高清pdf下载网站青岛专业网站营销
  • 沈阳做网站 0诚金网络专业网站设计与制作优点
  • 成品源码站400网站建设
  • 影视网站建设教程管理咨询公司的信息获取渠道
  • 南海网站建设报价公司网页制作流程图
  • 黄山网站建设免费咨询高端建站
  • 杭州怎么做网站wordpress微缩图