多线程学习

什么是进程

每一个程序有一个独立的进程

什么是线程

进程要执行任务必须要通过线程,线程就是进程的最小执行单元

什么是线程安全

我们要确保在多个线程进行访问的情况下,确保程序正确执行

创建线程的两种方法

//第一种通过继承类来实现

public MyThread extends Thread{
    @Override
    public void run(){
        //执行的任务
    }
    
    
} 

//2.通过实现Runnable接口来实现
public MyThread implements Runnable{
     @Override
    public void run(){
        //执行的任务
    }
}

publicstatic void main(){
    MyThread th=new MyThread();
    Thread t1=new Thread(th,"线程");
    t1.start();
    
}

线程的sleep,wait,join,yield方法

sleep方法:

执行这个线程进入阻塞,并且不释放锁,线程醒来后重新进入就绪状态

wait方法:

线程执行这个方法后,进入堵塞状态,并且释放锁,重新唤醒需要notify()方法,当有多个wait线程随机唤醒一个,注意这个方法为Object类中的

join方法:

先执行调用方法的线程内容,在执行接下来的内容

yield方法:

执行此方法的线程退回就绪状态,执行同优先级或高优先级的线程

线程的生命周期

线程分为五个周期:新建,就绪,执行,死亡,堵塞

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值