线程、线程组、线程池、锁、事务、分布式

本文详细介绍了Java中的线程基础、Thread类和Runnable接口的使用,讨论了线程中断、停止的区别,重点讲解了线程池的工作原理、锁机制(乐观锁、悲观锁和自旋锁),以及事务的原子性、一致性、隔离性和分布式事务的处理。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.线程 Thread类 ,可以继承他,复写run方法,然后new一个对象,调用start方法启动。

2.runnable接口,他单独把run方法定义出来了,可以自己实现一个runnable接口,然后new一个runnable对象给到thread的构造方法中,调用thread的start方法

线程中断 - interrupt   再run方法中,你随时可以调用Thread.currentThread().isInterrupted() 方法判断当前线程是否被中断了,然后判断是否继续执行还是终止执行,如果是调用了业务方法,你可以抛出InterruptException异常 让上层方法来判断继续还是终止。

线程停止:stop   他是抛出error,不能进行捕获,是jvm层处理的,他会再线程执行下一个指令的时候终止掉线程操作

中断、停止都会调用 finally 代码块、 closeable资源的close方法(你得定义再try的小括号里面)

中断较为温和,stop较为极端

线程thread参数:name、runnable、threadgroup、tasksize,前面两个可以单个给,前面三个可以两两给或者都给,也可以四个都给。

name名字,不给的话他有个线程数量累加到名字后缀里面,前缀是固定的一个字符串。

runnable:线程要执行的具体任务,thread的run方法默认是调用runnable的run方法

threadgroup:线程组,给线程分配到那个组里面,不给默认是给到调用者当前线程所在组(优先获取System.getSecurityManager(),再获取当前线程组)目的可能是为了后

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值