多线程的常用方法及API

本文详细介绍了Java中线程的常用方法,包括守护线程、线程中断、join、sleep和yield的使用。讲解了线程的创建、状态获取、中断标志的检查以及线程合并和休眠的实现,提供了多个示例来帮助理解。
摘要由CSDN通过智能技术生成

java.lang.Thread 类中提供了大量的相关的方法:

new Thread();

new Thread(name);

new Thread(Runnable,name);

new Thread(Runnable)

常用方法:

getId() :获取线程的唯一标识

getName() :获取线程名

getPriority():获取线程的优先级: 优先级从1-10 , min-priority:1 max-priority:10 norm- priority:5 注意说明优先级高的获取到cpu资源的概率越大,并不是一定会优先执行完成。

currentThread():获取当前线程的对象引用

getState():获取线程的状态 (这是返回线程状态的枚举, NEW:未启动,RUNABLE:可运行 BLOCK:阻塞状态, WAITING:等待状态TIMED-WAITIN: 等待另一个线程执行完)

interrupt():中断这个线程

isInterrupted(): 返回boolean 测试当前线程是否中断

isAlive():该线程是否处于活动状态

isDaemon():判断该线程是否是守护线程

setDaemon():设置该线程是否是守护线程

join() :合并线程,使它变为单线程

sleep(ms) :让当前线程休眠 ,休眠时间到了,自动唤醒

yield(): 让出cpu资源,使当前线程处理可运行状态(可运行状态也随时可以获取cpu资源)

案例1: 测试线程的基本属性

  System.out.println("当前主线程:"+Thread.currentThread().getName());
        System.out.println("主线程id:"+Thread.currentThread().getId());
        //设置主线程的线程级别
        Thread.currentThread().setPriority(Thread.MAX_PRIORITY);
        System.out.println("主线程的线程级别:"+Thread.currentThread().getPriority());

          //  创建线程对象
         MyThread my = new MyThread();
         //设置线程名
        my.setName("线程A");
        //设置优先级
        my.setPriority(10);
         my.start();

        MyThread my1 = new MyThread();
        my1.setName("线程B");
        //设置优先级     线程A  获取到资源的概率 大于线程B (大概率线程A优先执行完)
        my1.setPriority(1);
        //新生态
        System.out.println("线程"+my1.getName()+"状态-----"+my1.getState());
        my1.start();
        //可运行状态(就绪)
        System.out.println("线程"+my1.getName()+
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值