我们在操作Thread类 API中该类中定义了有关线程的一些方法 具体如下
代码:
//继承Thread类的子类 public class DemoMyThread extends Thread { //2.在Thread的子类中重写Thread类中的run方法 设置线程任务 @Override public void run() { String name = getName(); System.out.println(name); } } class test01{ public static void main(String[] args) { //3.创建Thread类的子类对象 DemoMyThread my = new DemoMyThread(); //4.调用Thread类中的发AN官方start方法 开启新的线程 执行run方法 my.start(); DemoMyThread my1 = new DemoMyThread(); my1.start(); } }
运行结果:
代码:
public class DemoMyThread01 extends Thread { @Override public void run() { for (int i = 0; i <20; i++) { System.out.println("线程"+i); try { Thread.sleep(500); } catch (InterruptedException e) { e.printStackTrace(); } } } } class test02{ public static void main(String[] args) { DemoMyThread01 my = new DemoMyThread01(); my.start(); } }
代码:
public class DemoMyThread02 extends Thread { @Override public void run() { System.out.println(Thread.currentThread()+"执行了"); } } class test03{ public static void main(String[] args) { DemoMyThread02 my = new DemoMyThread02(); my.start(); } }
运行结果:
1.使用Thread类中的方法setName(名字)
void setName(String name) 改变线程名称 使之与参数 name相同
2.创建一根带参数的构造方法 参数传递线程的名称 调用父类的带参构造方法 把线程名称传递给父类 让父类(Thread)给子线程起一个名字
Thread(String name)分配的Thread对象
代码
public class DemoGetname extends Thread { @Override public void run() { System.out.println(Thread.currentThread().getName()+"执行了"); } } class test04{ public static void main(String[] args) { DemoGetname nam = new DemoGetname(); nam.setName("线程1"); nam.start(); DemoGetname nam2 = new DemoGetname(); nam2.setName("线程2"); nam2.start(); } }
运行结果: