在观看本文之前 您需要了解Thread定义线程的方法 如果不了解 可以查看我的文章
java通过Thread类实现多线程方法
然后我们创建一个包 这个包下需要两个类
customException 线程类
参考代码如下
public class customException extends Thread {
public String name;
public customException(){
}
public void run(){
for(int i &#61; 0;i < 100;i&#43;&#43;){
System.out.println("第"&#43;(i &#43; 1)&#43;"次输出");
}
}
}
text 测试类 参考代码如下
public class text {
public static void main(String args[]) {
customException com1 &#61; new customException();
customException com2 &#61; new customException();
com1.start();
com2.start();
}
}
我们测试类中通过Thread 的start 开启了两个线程 我们执行代码如下
可我们并看不出来 每一条语句 具体都是哪一个线程输出的
此时 我们就需要用到两个方法 getName 和 setName
这个方法Thread 类中是有的 那么 我们可以用一下他默认的名称 看看是什么样的
将customException 中run方法的代码修改为
public void run(){
for(int i &#61; 0;i < 100;i&#43;&#43;){
System.out.println(getName()&#43;"第"&#43;(i &#43; 1)&#43;"次输出");
}
}
从新运行代码 效果如下
我们 可以看到 默认的名称 就是Thread-序号 这个序号 类似于索引 是 从0开始的
我们也可以通过 Thread 的setName 去修改他
将text的main方法 修改如下
public static void main(String args[]) {
customException com1 &#61; new customException();
customException com2 &#61; new customException();
com1.setName("地铁");
com2.setName("飞机");
com1.start();
com2.start();
}
运行结果如下
此时就可以看到 我们的名称是已经改过来了 没有任何问题