【名师课堂】Java高级开发

【名师课堂】Java高级开发

Java核心第三部
156课时 |
31736人已学 |
(17 评论)

加入学习
加入学习

线程的命名和取得:

多线程的运行状态是不确定的,所以必须有一个明确标记来标记线程对象,用名称来描述

构造:(创建线程对象的时候设置好名字)

public Thread(Runnable target,
              String name)

 

普通:设置该方法的名字

public final void setName(String name)

(final表示该方法不允许被子类覆写)

 

普通:得到该线程的名字

public final String getName()

 

但是如果要想取得线程的对象,在线程中:

*取得当前线程对象:

public static Thread currentThread()

范例:

class MyThread implements Runnable{

    @Override
    public void run() {
        for(int x=0;x<10;x++){
            System.out.println(Thread.currentThread().getName() +"x= "+x);
        }
        
    }
    
}

 

public class TestDemo {

    public static void main(String[] args) {
        MyThread mt = new MyThread();
        new Thread(mt).start();
        new Thread(mt).start();
        new Thread(mt,"have name").start();

    }

}

如果没有设置线程名字,系统会自动分配一个名字。如果自己设置线程名字,避免重复,且中间不要修改

范例:

class MyThread implements Runnable{

    @Override
    public void run() {
        
        System.out.println(Thread.currentThread().getName());
                
    }
    
}

public class TestDemo {

    public static void main(String[] args) {
        MyThread mt = new MyThread();
        mt.run();
        new Thread(mt).start();
        

    }

}

以上说明主方法本身就是一个线程,所有的线程都是通过主线程创建并启动的。

每当我们使用了JAVA命令去解释程序的时候,都表示启动了一个新的JVM进程。而主方法只是这个进程上的一个线程而已。

 

[展开全文]

多线程的操作方法:

线程的命名和取得:多线程的运行状态是不确定的,所以必须有一个可以明确标识出我们线程对象的信息,一般用名称来描述。

1.构造:创建线程的时候设置好名字

2.setName:final不允许子类覆写

3.getName:取得线程名字

必须取得线程对象:所有的操作都在run()方法,取得当前线程对象:currentThread().

JVM是一个进程,所有的主方法只是一个线程,由主线程创造所有的子线程。

[展开全文]

授课教师

阿里云开发者社区全面升级
一站式体验,助力云上开发!
进入新社区

相关课程

查看更多 >

本课程相关云产品