1.创建线程方法
①继承Thread
Thread thread = thread01()
thread.start()//启动线程
②实现Runnable接口
Runable runable01 = new Runable01();
new Thread(runable01).start()
③实现Callable接口 + FutureTask (可以拿到返回结果,可以处理异常)
FutureTask<Integer> futureTask =new FutureTask<>(new Callable01);
new Thread(futureTask).start();
//阻塞等待整个线程执行完成,获取返回结果
Integer integer = futureTask.get();
④线程池[ExecutorService]
给线程池直接提交任务
service.execute(new Runable01);
a.创建:
1)Executors.newFixedThreadPool(10);
2) new ThreadPoolExecutor()
七大参数:
1)corePoolSize: 核心线程数
b.开发中为什么要使用线程池:
1)降低资源消耗:通过重复利用已经创建好的线程降低线程的创建和销毁带 来的损耗。
2)提高响应速度:因为线程池中的线程数没有超过线程池的最大上限时,有 的线程处于等待分配任务的状态,当任务来时无需创建新的线程就能执行。
3)提高线程的可管理性:线程池会根据当前系统特点对池内的线程进行优化 处理,减少创建和销毁线程带来的系统开销。
java多线程
最新推荐文章于 2022-08-14 22:16:23 发布