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

自己做的工艺品在哪个网站上可以卖wordpress首页打开变慢

自己做的工艺品在哪个网站上可以卖,wordpress首页打开变慢,大连网站建设,惠州建设网站开发文章目录 什么是线程池#xff1f;线程池的实现标准库中的线程池#xff08;四种#xff09;自己实现一个线程池 线程池支持的参数在实际的开发中#xff0c;线程池的线程数如何确定#xff1f; 什么是线程池#xff1f; 线程诞生的原因就是进程太“重量”了。虽然线程的… 文章目录 什么是线程池线程池的实现标准库中的线程池四种自己实现一个线程池 线程池支持的参数在实际的开发中线程池的线程数如何确定 什么是线程池 线程诞生的原因就是进程太“重量”了。虽然线程的速度已经比进程快了很多但是如果遇到频繁的创建和销毁线程的情况那么线程创建和销毁的开销仍不可忽略。这时候就可以使用线程池来进一步提高使用线程的效率。 线程池就是一个“池子”里有很多线程。当需要执行任务的时候不需要重新创建线程而是直接从“池子”里面取一个线程直接使用用完了也不需要销毁再放回“池子”里就行。 为什么从“池子”里取一个线程比创建一个线程快呢 从“池子”里取的操作是一个纯用户态的操作而创建一个线程涉及到了用户态到内核态的转化。很容易理解转化走的路程远自然执行速度就慢。用户态每个进程自己执行自己的逻辑内核态一个操作系统只有一个内核一个内核要给所有的进程提供服务。线程本质是一个PCB是内核中的数据结构。创建和销毁就要到内核中。 线程池的实现 标准库中的线程池四种 //标准库的线程池public static void main(String[] args) {//创建线程数目动态增长的线程池ExecutorService pool Executors.newCachedThreadPool();//创建固定线程数的线程池ExecutorService pool1 Executors.newFixedThreadPool(5);//创建只包含单个线程的线程池ExecutorService pool2 Executors.newSingleThreadExecutor();//创建定期执行命令的线程池ExecutorService pool3 Executors.newScheduledThreadPool(5);pool.submit(new Runnable() {Overridepublic void run() {System.out.println(线程池);}});}自己实现一个线程池 一个线程池可以同时提交N个任务有M个线程同时执行这些任务。 使用生产者消费者模型来解决这个问题。 class MyThreadPool{private BlockingQueueRunnable blockingQueue new LinkedBlockingDeque();public void submit(Runnable runnable){try {blockingQueue.put(runnable);} catch (InterruptedException e) {e.printStackTrace();}}public MyThreadPool(int m){for (int i 0; i m; i){Thread thread new Thread(() - {while (true){try {Runnable runnable blockingQueue.take();runnable.run();} catch (InterruptedException e) {e.printStackTrace();}}});thread.start();}} }线程池支持的参数 corePoolSize核心线程数 maximumPoolSize最大线程数 最大线程数 核心线程数 临时线程数 keepAliveTime允许临时线程空闲的时间 unit时间的单位 workQueue手动给线程池传一个任务队列 threadFactory描述了线程是如何创建的。 工厂对象就负责创建线程程序员可以手动指定创建线程的策略 handler线程池的拒绝策略。即线程池的任务队列已经满了但是还有人往进添加新的任务该怎么办 解释 策略一不光新添加的任务不干旧的任务也不干 策略二让传递任务的线程干如果它不干就把这个任务舍弃 策略三不干新添加的任务继续执行旧的任务 策略四干新添加的任务把旧任务中最早添加进来的任务舍弃 在实际的开发中线程池的线程数如何确定 盖棺定论线程数是不能确定的需要根据具体的情况具体分析。 因为 主机的CPU配置不确定。CPU越多可创建的线程数越多。不同程序的执行特点不确定。得看你的代码是干啥的 如果是100%CPU密集型任务进行大量的算术运算和逻辑判断线程数有最大值比如N。线程数就算再多也没用因为CPU已经被占满了。如果是10%CPU密集型、90%IO密集型任务进行大量的读写硬盘/网卡操作线程数可以为10N 但是在工作中两种任务各占比多少是不确定的。因此需要我们进行实验验证 针对自己的程序进行性能测试分别给线程池设置不同的线程数比如0.2N、0.5N、N、1.5N、2N.分别记录每种情况下你的程序的一些核心性能指标和负载情况选择一个适合的线程数即可。
http://www.zqtcl.cn/news/458802/

相关文章:

  • 网站建设框架构建正规的app网站开发
  • 离退休工作网站建设方案wordpress在线浏览pdf
  • 昆明免费网站制作wordpress自定义路由
  • html5视频网站开发江西响应式网站制作
  • 网站照片加水印家装公司十大口碑排名
  • 做网站还有用PHP网站开发如何建立vip
  • 东莞广告公司东莞网站建设辽宁城乡建设部网站
  • 公司网站开发详细流程php网站开发优点
  • 广东网站建设多少钱比较大气的网站
  • asp.net怎么做登录网站网站建设服务网络服务
  • 网站备案级别做公司网站要多少钱
  • 湛江网站seo网站定制排名
  • 为什么网站之有首页被收录企业网站发布图片文章
  • 做网站要准备内蒙做网站
  • 邯郸市搞网站服务务的吗网站建设怎么在图片上加字
  • 卡片风格网站我想做跑腿网站怎么做
  • 公司网站建设前期情况说明如何找厂家地址
  • 超值的郑州网站建设wordpress 移除 新闻
  • 长春网络营销网站徐州手机模板建站
  • 微网站开发+在线商城建设局招标网站
  • 网站开发的基本过程关岭做网站
  • 高端网站哪种好WordPress媒体库丢失
  • 澄迈网站新闻建设宣传视频
  • 南昌优化网站排名公司建设网站的步骤
  • 一个人做网站wordpress如何加链接
  • 查网站服务器所在地笔记本电脑安装wordpress
  • 石家庄网站推广专家php网站分类目录源码
  • 盐城市城乡建设局门户网站低代码开发软件
  • 网站建设中的html深圳建设网站需要多少钱
  • 南阳公司网站制作品牌推广工作内容