砍材农夫砍材农夫
  • java
  • redis
  • mysql
  • 场景类
  • vuepress搭建
  • hexo搭建
  • 常用工具

    • git
    • gradle
    • Zadig
    • it-tools
    • 开源推荐
    • curl
  • 大前端

    • nodejs
    • npm
    • webpack
    • 微信
    • 正则
    • uniapp
  • java

    • java基础
    • jdk体系
    • jvm
    • spring
    • spring_cloud
    • spring_boot
    • 分库分表
    • zookeeper
  • python

    • python基础
    • python高级
    • python框架
  • 算法

    • 算法
  • 网关

    • spring_cloud_gateway
    • openresty
  • 高可用

    • 秒杀
    • 分布式
    • 缓存一致
  • MQ

    • MQ
    • rabbitMQ
    • rocketMQ
    • kafka
  • 其它

    • 设计模式
    • 领域驱动(ddd)
  • 关系型数据库

    • mysql5.0
    • mysql8.0
  • 非关系型数据库

    • redis
    • mongoDB
  • 分布式/其他

    • ShardingSphere
    • 区块链
  • 向量数据库

    • M3E
    • OPEN AI
  • Jmeter
  • fiddler
  • wireshark
  • AI入门
  • AI大模型
  • AI工具
  • MCP
  • AI集成框架
  • 相关算法
  • gitee
  • github
  • infoq
  • osc
  • 砍材工具
  • 关于
  • 相关运营
  • docker
  • k8s
  • devops
  • nginx
  • 元宇宙
  • 区块链
  • 物联网
  • linux
  • webrtc
  • web3.0
  • gitee
  • github
  • infoq
  • osc
  • 砍材工具
  • 关于
  • 中考
  • 投资
  • 保险
  • java
  • redis
  • mysql
  • 场景类
  • vuepress搭建
  • hexo搭建
  • 常用工具

    • git
    • gradle
    • Zadig
    • it-tools
    • 开源推荐
    • curl
  • 大前端

    • nodejs
    • npm
    • webpack
    • 微信
    • 正则
    • uniapp
  • java

    • java基础
    • jdk体系
    • jvm
    • spring
    • spring_cloud
    • spring_boot
    • 分库分表
    • zookeeper
  • python

    • python基础
    • python高级
    • python框架
  • 算法

    • 算法
  • 网关

    • spring_cloud_gateway
    • openresty
  • 高可用

    • 秒杀
    • 分布式
    • 缓存一致
  • MQ

    • MQ
    • rabbitMQ
    • rocketMQ
    • kafka
  • 其它

    • 设计模式
    • 领域驱动(ddd)
  • 关系型数据库

    • mysql5.0
    • mysql8.0
  • 非关系型数据库

    • redis
    • mongoDB
  • 分布式/其他

    • ShardingSphere
    • 区块链
  • 向量数据库

    • M3E
    • OPEN AI
  • Jmeter
  • fiddler
  • wireshark
  • AI入门
  • AI大模型
  • AI工具
  • MCP
  • AI集成框架
  • 相关算法
  • gitee
  • github
  • infoq
  • osc
  • 砍材工具
  • 关于
  • 相关运营
  • docker
  • k8s
  • devops
  • nginx
  • 元宇宙
  • 区块链
  • 物联网
  • linux
  • webrtc
  • web3.0
  • gitee
  • github
  • infoq
  • osc
  • 砍材工具
  • 关于
  • 中考
  • 投资
  • 保险
  • 基础面试题

    • 基础面试
    • 双亲委派
    • 关于锁
  • 线程并发

    • 线程
    • 线程安全
    • 线程实现方式
    • 线程相关属性
    • Thread和Object相关方法
    • 线程异常
    • 线程池
  • 高并发(JUC|AQS)

    • concurrency
    • AbstractQueuedSynchronizer
    • CountDownLatch
    • Semaphore
    • CyclicBarrier
    • ReentrantLock
    • Future/FutureTask
    • Fork/Join
    • BlockingQueue
    • ArrayBlockingQueue
    • DelayQueue
    • PriorityBlockingQueue
  • 集合相关

    • 集合相关
  • jvm

    • jvm概览
    • 垃圾标记算法
    • 垃圾回收算法
    • jvm监控相关工具
    • jvm内存调优
  • 锁

    • synchronized
  • 线程和进程区别
  • sleep和wait区别
  • thread和runnable区别
  • 线程返回值(三种实现方式)
    • 方式一(主线程等待子线程返回结果)
    • 方式二(使用Thread.join()方法)
    • 方式三(使用Callable接口或线程池)
  • 线程状态
  • 线程中断

线程和进程区别

sleep和wait区别

sleep 是Thread类中方法,wait是Object类中方法
sleep 可以任何地方使用,wait只能用在synchronized方法或者synchronized代码块中
sleep 不会释放锁,wait会释放锁

thread和runnable区别

Thread类继承了Runnable接口,所以Thread类对象也可以实现Runnable接口
一般业务实现在run方法体内,所以一般建议Runnable接口实现类

线程返回值(三种实现方式)

方式一(主线程等待子线程返回结果)

public static void main(String[] args) throws Exception{ 
    Thread t = new Thread(new Runnable() { 
        public void run() { 
            return "hello";
        }
    })
    t.start();
}

方式二(使用Thread.join()方法)

方式三(使用Callable接口或线程池)

线程状态

NEW \ RUNNABLE \ BLOCKED \ WAITING \ TIMED_WAITING \ TERMINATED

NEW 创建后,还未启动
RUNNABLE 运行中
WAITING 线程等待,如:调用Object.wait()方法
BLOCKED 线程被阻塞,等待获取排它锁,如:调用Object.wait()方法
TIMED_WAITING 线程等待,如:调用Object.wait()方法,指定时间,系统自动唤醒
TERMINATED 线程已结束

线程中断

调用Thread.interrupt()方法
线程中断,线程会抛出InterruptedException异常

最近更新: 2026/1/4 22:51
Contributors: kcnf
Next
线程安全