Java多线程的概念以及使用

本文详细介绍了Java多线程的基础概念,包括进程与线程的区别,多线程的创建方式(如继承Thread、实现Runnable和Callable接口),线程调度模式,线程的生命周期,Thread常用方法,线程安全的实现(如Synchronized和Lock),线程通信,以及Callable接口和线程池的基本知识。
摘要由CSDN通过智能技术生成

基础概念

进程:进程是指计算机中已运行的程序,是系统进行资源分配和调度的基本单位
线程:线程就是程序或者某个进程中的一个任务,一个进程中可以同时执行多个线程
并行:多个CPU同时执行多个任务
并发:一个CPU去执行多个任务


一、多线程的创建


1、继承Thread:class 类 extends Thread{
                             public void run(){
                                 线程要执行的任务必须放在该方法里面
}
}
start方法有两个功能:a.让线程进入等待队列    b.调用run方法
2、实现Runable接口:class 类 implements Runable{
                                        public void run(){
                                            线程的任务
}        
}
Thread和Runable的区别:Thread和Runable没有区别,本质上只是实现关系,但是都必须要重写run()方法
3、实现Callable接口(见第七大点)
4、线程池(了解)


二、线程的调度模式

    CPU会给线程分配时间片,一旦线程得到时间片,它就可以执行。哪个线程抢到时间碎片该线程就执行,没有抢到时间碎片的线程就处于等待状态


三、线程的生命周期


 

四、Thread常用的几个方法


运行状态---->阻塞---->就绪
sleep():让当前线程休眠,直到休眠时间结束才让当前线程重新去竞争CPU时间碎片
join():调用线程等待该线程完成后,才能继续往下运行
wait():用于将当前线程进入阻塞状态,并且释放锁
yield():可以让一个线程从运行状态回归到就绪状态,yeild()可以让当前线程释放时间碎片,进入就绪状态重新等待CPU的时间碎片


五、线程安全

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值