线程的常用操作方法

一、线程名称

1.在Thread类中,可以通过getName()方法获得线程名称,通过setName()方法设置线程名称

2.线程的名称一般在启动线程前设置,但也允许为已经运行的线程设置名称。允许雷哥Thread对象有相同的名称,但应该避免

3.如果程序没有为线程指定名称,则系统会自动为线程分配一个名称。

class MyThread implements Runnable
{
    public void run(){
        for(int i=0;i<3;i++){
            System.out.println(Thread.currentThread().getName()
                +"运行,i=" +i) ;//取得当前线程名称
        }
    }
}
public class ThreadNameDemo
{
    public static void main(String args[]){
        MyThread mt = new MyThread() ;    //实例化Runnable子类对象
        new Thread(mt).start() ;          //系统自动设置线程名称
        new Thread(mt,"线程-A").start() ; //手工设置线程名称
        new Thread(mt,"线程-B").start() ; //手工设置线程名称
        new Thread(mt).start() ;          //系统自动设置线程名称
        new Thread(mt).start() ;          //系统自动设置线程名称

    }
}

执行结果:

二、当前线程

1.程序可以通过currentThread()方法取得当前正在运行的线程对象。

2.主方法也是线程,称作:主线程

问题:Java运行时启动多少线程?

答:至少启动两个,每当java执行时,都会启动jvm,每个jvm都会启动一个进程;java中具有垃圾收集机制,GC(垃圾回收机制)

3.判断线程是否启动

class MyThread implements Runnable
{
    public void run(){
        for(int i=0;i<3;i++){
            System.out.println(Thread.currentThread().getName()
                +"运行,i=" +i) ;//取得当前线程名称
        }
    }
}
public class ThreadAliveDemo
{
    public static void main(String args[]){
        MyThread mt = new MyThread() ;    //实例化Runnable子类对象
        Thread t = new Thread(mt,"线程") ;
        System.out.println("线程开始执行之前--->"+t.isAlive()) ;
        t.start();
        System.out.println("线程启动之后--->"+t.isAlive()) ;
        for(int i=0;i<16;i++){
            System.out.println("main运行--->" + i);
        }
        //代码执行结束
        System.out.println("代码执行之后--->"+t.isAlive()) ;
    }
}


三、线程的强制运行

       join


评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值