Java 多线程实现、线程池、线程操作

实现线程的4种方式

1.继承Thread类
在这里插入图片描述
2.实现Runable接口
在这里插入图片描述
3. Callable接口 + FutureTask类
在这里插入图片描述
4.线程池的方式
在这里插入图片描述

线程的生命周期

在这里插入图片描述
1.新建 new
2.就绪 runnable
3.运行 running
4.阻塞 blocked
5.死亡 dead

常用线程池

在这里插入图片描述
1.newCachedThreadPool
创建一个可根据需要创建新线程的线程池,但是在以前构造的线程可用时将重用它们。对于执行
很多短期异步任务的程序而言,这些线程池通常可提高程序性能。调用 execute 将重用以前构造
的线程(如果线程可用)。如果现有线程没有可用的,则创建一个新线程并添加到池中。终止并
从缓存中移除那些已有 60 秒钟未被使用的线程。因此,长时间保持空闲的线程池不会使用任何资
源。

2.newFixedThreadPool
创建一个可重用固定线程数的线程池,以共享的无界队列方式来运行这些线程

3.newScheduledThreadPool 定时执行线程池
在这里插入图片描述
4.newSingleThreadExecutor 保持一个线程的线程池

线程相关操作

1.Thread.sleep(1000);
当前thread睡觉,让出资源。(不释放锁)

2.Thread.yield();
当前thread睡觉,让出资源。(不释放锁)
Thread.sleep(0) == Thread.yield();

3.new Object().wait(1000);

4.new Object().notify();

5.new Thread().join();

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值