Java中Thread类的详解

本文详细介绍了Java中的Thread类在多线程编程中的应用,包括线程的创建方式(如继承Thread类、实现Runnable接口)、线程的命名、设置线程状态(如睡眠、等待、通知、谦让)以及线程调度,强调了优先级在决定线程执行顺序中的作用。

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

Thread(多线程类)

多线程

  • 进程: 通俗的来说,每一个程序都是一个进程,比如:QQ,360,谷歌。

  • 线程: 每一个程序中都有多个功能,每一个功能都可以看成是一个线程。

Thread的使用

  • 继承子类建立线程
    对于每一个线程,都是可以通过类继承Thread来完成的。
ublic class Thread_one {
    public static void main(String[] args) {
        Ter it = new Ter();
        //start开始运行线程中的方法
        it.start();
    }
}
class Ter extends Thread{
    @Override
    //run方法里面的方法是线程的主方法
    public void run() {
        for (int i = 0; i <100; i++) {
            if(i%2==0){
                System.out.println(i);
            }
        }
    }
}
  • 内部对象类
 new Thread() {
            @Override
            public void run() {
                System.out.println("牛逼");
            }
        }.start();
        }
  • 带参数的构造方法
class Ter extends Thread{
    @Override
    //run方法里面的方法是线程的主方法
    public void run() {
        for (int i = 0; i <100; i++) {
            if(i%2==0){
                System.out.println(i);
            }
        }
    }
    public 
}
  • 接口创建多线程

用类来继承runable继承,在主方法中创建runable继承的类的对,在用这对象作为参数,去实现thead类。

public class Thread_runable {
    public static void main(String[] args) {
        Mythread_runable w=new Mythread_runable();
        Thread it1=new Thread(w);
        Thread it2=new Thread(w);
        Thread it3=new Thread(w);
        it1.run();
        it2.run();
        it3.run();
    }


}
class Mythread_runable implements Runnable{
    int ticket=100;
    @Override
    public void run() {
        while (true){
            if(ticket>0){
                System.out.println(Thread.currentThread().getName()+"卖出的车票"+ticket);
            }else {
                break;
            }
            ticket--;
        }
    }
}

用接口的方式建立买票窗口,可以满足只出现一个100的要求。

线程的命名

Thread currentThread();

返回当前线程,此方法为构造方法

void setName();

设置线程的名字

String getName();

返回当前线程的名字

设置线程运行的状态

  • 睡眠(sleep)与中断(interrupt)

sleep让线程出于堵塞,不运行的状态。

  • 等待(wait)和通知(notify)
  • 等待线程(join)和谦让(yield)

join是将线程加入主方法,yield取消当前线程的执行权利。
对于join()加入的方法,主线程会行执行加入的方法,在执行,其他方法。

线程的调度

  • 不同线程的优先级不同,对于优先级高的,会抢占低的资源,就会先运行。

-getpriority()与setpriority()

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值