线程的知识点

本文介绍了Java中的多线程机制,包括线程的组成、线程的调度、线程状态转换、线程创建方法以及线程同步和通信的关键字如sleep()、yield()、join()和synchronized。同时,讲解了线程中断的正确方式和对象锁的释放时机。

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

线程知识点
1、Java程序的并发机制是多线程

2、Java中的线程由三部分组成,虚拟机的CPU,封装在Java.lang.Thread类中;CPU所执行的代码,传递给Thread类;CPU所处理的数据,传递给Thread类。

3、Java中的线程体是由线程类的run()方法定义,该方法定义线程的具体行为。

4、具有相同优先级的多个线程的调度可能是分时的,也可能是线程逐个运行,有具体的JVM而定。

5.sleep()使比其优先级低的线程运行,让程序挂起一段时间,使其他的线程得到执行的机会,一旦计时器结束计数,就立即可以投入运行。被调用后,一定使线程改变当前状态。
yield()只让给同优先级运行,如果没有同等优先级的线程等待执行,可能在进入到可执行状态后马上又被执行。如果调用yield(),不能保证使该线程停止运行。
join()方法使当前的线程等待,直到 t 结束为止。

6、线程的生命周期有6个状态:新建状态(new)、可运行状态(run)、阻塞状态、休眠状态(Sleep)、等待状态wait()、终止状态(Blocked)。

7、在Java语言中提供两种创建线程的方法:通过继承Thread类创建线程;通过实现Runnable接口来创建线程。

8、在多线程并发程序设计中,能够给对象X加锁的语句是synchronized(x)

9、**notify()**方法用来实现线程之间的通信

10、如果线程正处于运行状态,则它可能到达的下一个状态是可运行状态、阻塞状态、终止状态

11、若线程执行语句synchronized(this)没有成功,则该线程将进入的状态是阻塞状态

12、中断线程比较安全的做法是引入共享变量,所以使用标志flag,通过设置flag通知线程 t 结束。

13、Java多线程并发控制中,用于在代码标识临界区的关键字是synchronized

14、对象的锁在 synchronized()语句执行完后在synchronized()语句块中出现异常时持有锁的线程调用该对象的wait()方法时 持有线程返还。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值