代码: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这个方法,获取当前线程名称, } //便于区分多线程的执行 }}
添加回答
举报
0/150
提交
取消