为了账号安全,请及时绑定邮箱和手机立即绑定

设置名称可以在start线程开始之后吗?

设置名称可以在start线程开始之后吗?

qq_雨过之后_1 2017-07-11 11:22:47
代码:package com.vdate.day13;import javax.swing.text.StyledEditorKit.ForegroundAction;public class threadUse1 {/** * 法一步骤: *1、继承thread类, *2、实现thread的run方法。实际上就是把需要执行的程序内容放到run方法中。 *3、调用thread类里面的start方法,而不是直接调用run方法。 * (run方法是执行逻辑,start才是启动线程开始,线程底部和java虚拟机会再次去调用run方法) * * 多线程其实是一个抢占CPU资源的,谁抢到谁执行 * * Thread常用的几个方法: * 1、getName();获取当前线程名称,返回String类型 * 2、setName();设置线程的名称,传入一个String类型的名称;设置线程名称还可以通过构造函数的方式实现; * 3、获取当前线程及线程名称可以直接调用Thread类里面的currentThread方法 * * @param args */ public static void main(String[] args) { /*test t1 = new test("猪八戒"); test t2 = new test("猴子"); */ test t1 = new test(); test t2 = new test(); /* t1.run(); //不知直接调用run方法 t2.run();*/ t1.start(); t2.start();// t1.start();//不能多次启动 //改变线程名称,使之与参数 name 相同。 t1.setName("武"); t2.setName("潘"); //获取当前线程名称,返回String类型 /*String currentName = Thread.currentThread().getName();//静态的,可以直接   类名.  调用 System.out.println("currentName:" + currentName);//currentName:main*/ }}class test extends Thread{ //构造方法 /*public  test(){} public  test(String name){ super(name);//调用父类的构造方法 }*/ public void run() {//重写thread的run方法 for (int i = 0; i < 10000; i++) { System.out.println(getName() +"--"+ i);//调用getName这个方法,获取当前线程名称, } //便于区分多线程的执行 }}
查看完整描述

1 回答

?
岁月老刀

TA贡献5条经验 获得超0个赞

使用Thread.currentThread().setName("XXXX");

查看完整回答
反对 回复 2017-07-12
  • 1 回答
  • 0 关注
  • 1573 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信