1.案例
1.1.线程Id
简述:
1.线程Id,是线程的唯一身份标识
2.用于JVM执行过程中,识别线程
package com.anan.thread.threadproperty;
/**
* 线程属性:Id
* 1.线程Id,是线程的唯一身份标识
* 2.用于JVM执行过程中,识别线程
*/
public class ThreadIdDemo {
public static void main(String[] args) {
// 创建线程对象
Runnable r1 = new MyRunnable();
Thread t1 = new Thread(r1);
t1.start();
// 打印主线程main的Id
System.out.println("【主】线程Id:" + Thread.currentThread().getId());
}
}
/**
* 实现Runnable接口,创建线程
*/
class MyRunnable implements Runnable{
public void run() {
System.out.println("【子】线程Id:" + Thread.currentThread().getId());
}
}
1.2.线程名称
简述:
1.线程名称,可以在创建线程对象的时候设置(有默认名称)
2.用于在开发过程中,方便调试,或者友好阅读
package com.anan.thread.threadproperty;
import java.util.concurrent.TimeUnit;
/**
* 线程属性:Id
* 1.线程名称,可以在创建线程对象的时候设置(有默认名称)
* 2.用于在开发过程中,方便调试,或者友好阅读
*/
public class ThreadNameDemo {
public static void main(String[] args) throws InterruptedException{
// 创建两个线程对象
Runnable r1 = new MyRunnable1();
// 使用默认线程名称
Thread t1 = new Thread(r1);
t1.start();
// 休眠1秒,实现顺序打印
TimeUnit.SECONDS.sleep(1);
// 指定线程名称
Thread t2 = new Thread(r1,"my-thread-2");
t2.start();
}
}
/**
* 实现Runnable接口,创建线程
*/
class MyRunnable1 implements Runnable{
public void run() {
System.out.println("线程名称:" + Thread.currentThread().getName());
}
}
关于作者
王硕,网名信平,十多年软件开发经验,业余架构师,精通Java/Python/Go等,喜欢研究技术,著有《PyQt 5 快速开发与实战》《Python 3.* 全栈开发》,多个业余开源项目托管在GitHub上,欢迎微博交流。