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

做视频网站需要多少钱seo网站页面优化包含

做视频网站需要多少钱,seo网站页面优化包含,长春火车站哪个区,临淄58同城招聘信息网Java线程池的核心参数 Java线程池通过ThreadPoolExecutor类进行配置,其核心参数如下: corePoolSize(核心线程数) 作用:线程池中保持活动的最小线程数,即使这些线程处于空闲状态。 行为:默认情…

Java线程池的核心参数

Java线程池通过ThreadPoolExecutor类进行配置,其核心参数如下:

  1. corePoolSize(核心线程数)

    • 作用:线程池中保持活动的最小线程数,即使这些线程处于空闲状态。

    • 行为:默认情况下,核心线程不会因空闲超时被回收(除非设置allowCoreThreadTimeOut(true))。

  2. maximumPoolSize(最大线程数)

    • 作用:线程池允许创建的最大线程数(包括核心线程和非核心线程)。

    • 触发条件:当核心线程全忙且阻塞队列已满时,会创建临时线程,直到达到此值。

  3. keepAliveTime(空闲线程存活时间)

    • 作用:非核心线程(临时线程)在空闲状态下的存活时间,超时后会被终止。

    • 单位:通过TimeUnit指定(如秒、毫秒)。

  4. workQueue(阻塞队列)

    • 作用:存储等待执行的任务。

    • 常用类型

      • LinkedBlockingQueue:无界队列(默认容量极大,需警惕内存溢出)。

      • ArrayBlockingQueue:有界队列(需指定容量)。

      • SynchronousQueue:不存储任务,直接提交给线程处理。

  5. threadFactory(线程工厂)

    • 作用:自定义线程的创建方式(如设置线程名称、优先级)。

    • 示例

      java

      复制

      下载

      ThreadFactory factory = r -> {Thread t = new Thread(r);t.setName("custom-thread-" + t.getId());return t;
      };
  6. handler(拒绝策略)

    • 作用:当线程池和队列均满时,处理新提交的任务。

    • 内置策略

      • AbortPolicy(默认):抛出RejectedExecutionException

      • CallerRunsPolicy:由提交任务的线程直接执行。

      • DiscardPolicy:静默丢弃任务。

      • DiscardOldestPolicy:丢弃队列中最旧的任务,重新提交当前任务。


Java中线程的创建方式

  1. 继承Thread类

    java

    复制

    下载

    class MyThread extends Thread {@Overridepublic void run() {System.out.println("Thread running");}
    }
    MyThread t = new MyThread();
    t.start();
  2. 实现Runnable接口

    java

    复制

    下载

    Runnable task = () -> System.out.println("Runnable running");
    Thread t = new Thread(task);
    t.start();
  3. 实现Callable接口(支持返回值)

    java

    复制

    下载

    Callable<String> task = () -> "Result";
    ExecutorService executor = Executors.newSingleThreadExecutor();
    Future<String> future = executor.submit(task);
    String result = future.get(); // 阻塞获取结果
    executor.shutdown();
  4. 使用线程池(推荐)

    java

    复制

    下载

    ExecutorService executor = Executors.newFixedThreadPool(4);
    executor.submit(() -> System.out.println("Task executed by thread pool"));
    executor.shutdown();

线程(Thread)与进程(Process)的区别

特性进程线程
资源分配独立内存空间(堆、栈、系统资源)共享进程的内存空间(堆),独立栈
创建开销大(需分配独立资源)小(共享进程资源)
通信方式复杂(如管道、Socket、共享内存)简单(直接共享内存,但需同步控制)
切换成本高(涉及上下文切换和资源切换)低(仅切换线程上下文)
独立性一个进程崩溃不影响其他进程一个线程崩溃可能导致整个进程终止
应用场景需要隔离的任务(如浏览器多标签页)高并发任务(如Web服务器处理请求)

线程池的工作流程

  1. 任务提交

    • 若核心线程未满,立即创建新线程执行。

    • 若核心线程全忙,任务进入阻塞队列。

  2. 队列处理

    • 队列未满时,任务排队等待核心线程处理。

    • 队列已满时,创建临时线程(直到达到maximumPoolSize)。

  3. 拒绝策略触发

    • 当线程池和队列均满时,执行拒绝策略。


示例:自定义线程池

java

复制

下载

ThreadPoolExecutor executor = new ThreadPoolExecutor(2,                              // corePoolSize4,                              // maximumPoolSize60, TimeUnit.SECONDS,           // keepAliveTimenew ArrayBlockingQueue<>(10),    // workQueuenew CustomThreadFactory(),      // threadFactorynew ThreadPoolExecutor.CallerRunsPolicy() // handler
);// 提交任务
for (int i = 0; i < 15; i++) {executor.submit(() -> {try {Thread.sleep(1000);System.out.println(Thread.currentThread().getName() + " 执行任务");} catch (InterruptedException e) {e.printStackTrace();}});
}executor.shutdown();

总结

  • 线程池核心参数:需根据任务类型(CPU/IO密集型)合理配置。

  • 线程创建方式:推荐使用线程池管理线程,避免频繁创建销毁开销。

  • 线程与进程:线程轻量且共享资源,适合高并发;进程隔离性强,适合需要独立环境的任务。

http://www.dtcms.com/wzjs/208547.html

相关文章:

  • 随州便宜做网站sem推广是什么
  • 纯html5网站什么软件可以发帖子做推广
  • wordpress三栏怎么实现北京自动seo
  • 网站的运营与管理网站优化建议
  • 做网站和APP需要多少钱网站收录情况查询
  • 最好科技上海网站建设网络营销推广实训报告
  • 六年级做网站的软件枸橼酸西地那非片的作用及功效
  • 如何在社交网站上做视频推广方案谷歌推广外包
  • php做网站常见实例汕头网站推广排名
  • 网站网业设计电子商务主要学什么内容
  • 绵阳市建设工程质监站网站电商运营公司排名
  • 长春做网站的公司seo培训班 有用吗
  • 网站看不到排版怎么办bt搜索引擎最好用的
  • 做网站的应用网上国网app推广方案
  • 设计的商城网站建设腾讯第三季度营收448亿元
  • 建站时网站地图怎么做网站排名查询软件
  • 怎么做产品网站十大营销模式
  • 专业做网站建设公司厦门seo培训
  • 青海建设兵团青岛战友网站关键词查询工具哪个好
  • wordpress 自动缩进seo外链在线提交工具
  • 做网站一般有几个关键词百度app下载安装官方免费版
  • asp.net mvc 做网站seo搜索引擎优化书籍
  • 营销型网站建设极速建站网络软文怎么写
  • 微网站怎么做百度网盘登陆入口
  • 有赞官网seo搜索引擎优化薪酬
  • 山门做网站百度推广代理商赚钱吗
  • 做任务得钱的网站手机百度2022年新版本下载
  • 新河镇网站制作网络软文名词解释
  • 宜春专业的企业网站建设公司网络营销推广技巧
  • 网站建设与管理维护 李建青网络电商推广方案