一、线程对象的基本操作

二、获取线程对象

package com.bjpowernode.java.thread;public class ThreadTest04 {public static void main(String[] args) {Thread currentThread = Thread.currentThread();System.out.println(currentThread.getName());//创建线程对象MyThread2 t1 = new MyThread2();//设置名字t1.setName("t1");//获取线程名字System.out.println(t1.getName());MyThread2 t2 = new MyThread2();t2.setName("t2");t2.start();t1.start();for (int i=0;i<100;i++){System.out.println(currentThread.getName()+"-->"+i);}}}class MyThread2 extends Thread{@Overridepublic void run() {for (int i=0;i<1000;i++){Thread currentThread = Thread.currentThread();System.out.println(currentThread.getName()+"-->"+i);}}}
三、sleep方法
重点:静态方法,让当前线程进入休眠
package com.bjpowernode.java.thread;/*面试题*/public class ThreadTest07 {public static void main(String[] args) {Thread t = new MyThread3();t.setName("t");t.start();try {//这行代码会让线程t进入休眠吗?//不会,让当前线程main进入休眠t.sleep(1000 * 5);} catch (InterruptedException e) {e.printStackTrace();}}}class MyThread3 extends Thread{@Overridepublic void run() {for (int i=0;i<1000;i++){System.out.println(Thread.currentThread().getName()+"--->"+i);}}}
四、终止线程
1.stop()——过时


2.true和false
package com.bjpowernode.java.thread;public class ThreadTest10 {public static void main(String[] args) {MyRunnable4 r = new MyRunnable4();Thread t = new Thread(r);t.setName("t");t.start();//等5秒try {Thread.sleep(1000*5);} catch (InterruptedException e) {e.printStackTrace();}//终止线程r.run = false;}}class MyRunnable4 implements Runnable{boolean run = true;@Overridepublic void run() {for (int i=0;i<10;i++){if (run){System.out.println(Thread.currentThread().getName()+"--->"+i);try {Thread.sleep(1000);} catch (InterruptedException e) {e.printStackTrace();}}else {return;}}}}
