多线程基础

本文介绍了Java中线程的基本概念,包括用户线程与守护线程的区别,创建线程的三种方式,以及线程的各种状态如创建、阻塞、死亡等,并详细解释了常用线程方法如设置优先级、休眠、中断等。

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

线程分为用户线程和守护线程(daemon)。

1.继承Thread类,重写run()方法,调用start开启线程

2.实现Runable接口方式

public class TestRunable implements Runnable {
    @Override
    public void run() {
        for(int i=0;i<200;i++){
            System.out.println("----------444444");
        }
    }
    @Test
    public static void main(String args[]){
        TestRunable testRunable=new TestRunable();
        new Thread(testRunable).start();
        for(int i=0;i<500;i++){
            System.out.println("++++++++++888888");
        }
    }
}

3.实现Callable接口

   

线程状态:

        创建状态:线程对象一旦创建就进入到新生状态。

        阻塞状态:当调用sleep,wait或同步锁定时,线程进入阻塞状态,就是代码不往下执行,阻塞

                          事件解除后,重新进入就绪状态,等待cpu调度执行。

        死亡状态:线程中断或者结束,一旦进入死亡状态,就不能再次启动。

        就绪状态:

        运行状态:进入运行状态,线程才真正执行线程体的代码块。

线程方法:

        setPriority(int newPriority):更改线程的优先级 1~10

        static void sleep(long millis):在制定的毫秒数内让当前正在执行的线程休眠

        void join():等待该线程终止

        void interrupt():中断线程,不建议用这种方式

        boolean isAlive():测试线程是否处于活动状态。

死亡 之后的线程无法再次启动。

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值