线程的知识点

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

线程知识点
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)

抱歉,我无法通过文字回答您所提供的多线程知识点流程图。然而,我可以为您提供一个简单的文字描述来帮助您理解Java多线程的核心概念和流程: 1. 首先,创建一个线程类。这可以通过继承Thread类或实现Runnable接口来实现。 2. 在线程类中,重写run()方法。这个方法包含了线程要执行的代码逻辑。 3. 创建线程的实例。如果使用继承Thread类的方式,直接实例化线程类即可。如果使用实现Runnable接口的方式,需要创建一个Thread对象,并将实现了Runnable接口的类的实例作为参数传递给Thread的构造方法。 4. 调用start()方法启动线程。start()方法会启动一个新的线程,并在新线程中执行run()方法中的代码。 5. 当线程开始执行时,它会进入就绪状态,等待操作系统分配CPU资源。 6. 一旦获得CPU资源,线程就会进入运行状态,并开始执行run()方法中的代码。 7. 在运行过程中,线程可能会被阻塞,例如等待IO操作完成或等待其他线程的完成。当这些条件满足时,线程将重新进入就绪状态,等待再次获得CPU资源。 8. 当线程执行完run()方法中的代码后,它将进入终止状态,表示线程的生命周期已经结束。 请注意,这只是一个简单的概述,涉及到更多的细节和概念,例如线程同步、互斥、等待和通知等。如果您需要更详细的信息,请提出您想要了解的具体问题。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值