• 博客园logo
  • 会员
  • 众包
  • 新闻
  • 博问
  • 闪存
  • 赞助商
  • HarmonyOS
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录

XiaoXiaoli

  • 博客园
  • 联系
  • 订阅
  • 管理

公告

View Post

java并发编程_线程

创建进程

方式1,start一个新的线程,启动线程后回调new Runnable中的run方法,run方法调用结束后,JVM等待回收线程。

public class FutureTaskOne {
    public static void main(String[] args) throws  Exception{
        new Thread(new Runnable() {
            @Override
            public void run() {
                System.out.println(Thread.currentThread().getName());
            }
        }).start();
    }
}

 

方式2,通过Callable和FutureTask创建

 

 

 

线程池

 

  

为什么使用线程池?

    当执行并发任务时,使用多线程处理任务。线程池,帮助我们将创建的线程管理起来。

    巧记线程,线程池涉及的Executor、Runnable、Callable、Future、ThreadPoolExecutor等的协同参数工作原理及使用场景! 线程池优先要创建出基本线程池大小(corePoolSize)的线程数量,没有达到这个数量时,每次提交新任务,都会直接创建一个新线程,当达到了基本线程数量后,又有新任务到达,优先放入等待队列,如果队列满了,才去创建新的线程(不能超过线程池的最大数maxmumPoolSize)。

    使用线程池有哪些好处:

       使用线程池可以复用池中的线程,不需要每次都创建新线程,减少创建和销毁线程的开销; 同时,线程池具有队列缓冲策略、拒绝机制和动态管理线程个数,特定的线程池还具有定时执行、周期执行功能,比较重要的一点是线程池可实现线程环境的隔离,例如分别定义支付功能相关线程池和优惠券功能相关线程池,当其中一个运行有问题时不会影响另一个。

  线程池有一个管理机制,什么管理机制(补充)?

  

  

FutureTask

  

 

posted on 2023-01-08 17:47  XiaoXiaoli  阅读(23)  评论(0)    收藏  举报

刷新页面返回顶部
 
博客园  ©  2004-2025
浙公网安备 33010602011771号 浙ICP备2021040463号-3