获取线程的名称:
1.使用thread类中的方法getname()
String getname()返回该线程的名称。
2.可以获取到当前正在执行的线程,使用线程中的getname()获取线程的名称
static thread currentThread()返回当前正在执行的线程对象的引用。
main程序:
public class Demo01Threadname { public static void main(String[] args) { MyThread mt=new MyThread(); mt.start(); new MyThread().start(); new MyThread().start(); System.out.println(Thread.currentThread().getName());//获取主线程名称 } }
public class MyThread extends Thread{ @Override public void run() { String name=getName(); System.out.println(name); Thread t=Thread.currentThread(); System.out.println(t); System.out.println(Thread.currentThread().getName());//链式编程 } }
getname获取名称。
设置线程的名称:
1.使用Thread类中的方法setname(名字)
void setname(String name)改变线程名称,使之与参数的name相同
2.创建一个带参数的构造方法,参数传递线程的名称,调用父类的带参构造方法,把线程传递给夫类,让父类Thread给子线程起个名字。
public class Demo01Setname { public static void main(String[] args) { MyThread mt =new MyThread(); mt.setName("小强"); mt.start(); new MyThread("旺财").start(); } }
设置线程名称的两种方式。
public class MyThread extends Thread { public MyThread(){} public MyThread(String name){//把线程传递给夫类,让父类Thread给子线程起个名字。 super(name); } @Override public void run() { System.out.println(Thread.currentThread().getName()); } }
public static void sleep ;使当前正在执行的线程以指定的毫秒数暂停,毫秒执行结束后继续执行。
方法1:
public class Demo02Sleep { public static void main(String[] args) throws InterruptedException { for (int i = 1; i <=60 ; i++) { System.out.println(i); Thread.sleep(1000); } } }
方法2:
public class Demo02Sleep { public static void main(String[] args) { for (int i = 1; i <=60 ; i++) { System.out.println(i); try { Thread.sleep(1000); } catch (InterruptedException e) { e.printStackTrace(); } } } }