1 /** 2 3 *Thread的常用方法 4 5 *1.start(),启动线程再执行run方法 6 7 *2.run():子线程要执行的代码放入run()方法中 8 9 *3.currentThread()静态的,调取当前线程,返回还是Thread, 10 11 *4.getName(),setName()获取和设置此线程的名字 12 13 *5.yield():调用此方法的线程释放CPU的执行权 14 15 *7.join():在A线程中,条用B线程的join方法,表示当执行到此方法,A线程停止知道B线程执行完,A执行再执行 16 17 *8.isAlive();返回时Boolean,查看线程是否还活着 18 19 *9.sleep(long l):显示的是让当前线程睡眠多少毫秒 20 21 *10. setPriority()设置优先级,最小是1,最大是10,默认是5 22 23 */ 24 25 //1.创建一个继承Thread的类 26 27 class SubThread1 extends Thread{ 28 29 //2.重写Thread类的run方法,方法内实现此子线程要完成的功能 30 31 public void run(){ 32 33 for(int i = 1;i<101;i++){ 34 35 try { 36 37 Thread.currentThread().sleep(1000); 38 39 } catch (InterruptedException e) { 40 41 // TODO Auto-generated catch block 42 43 e.printStackTrace(); 44 45 } 46 47 System.out.println(Thread.currentThread().getName()+":"+i); 48 49 } 50 51 } 52 53 54 55 } 56 57 public class TestThread1 { 58 59 public static void main(String[] args) throws Exception { 60 61 //3.创建一个子类的对象 62 63 SubThread1 st = new SubThread1(); 64 65 //4.调用线程的start方法,启动此线程;再调用run方法(一个线程只能执行一次start(),可以创建两个对象来分别执行start方法!) 66 67 st.start(); 68 69 70 71 //主线程 72 73 for(int i = 1;i<101;i++){ 74 75 System.out.println(Thread.currentThread().getName()+":"+i); 76 77 // if(i%10 ==0){ 78 79 // Thread.currentThread().yield(); 80 81 // } 82 83 if(i == 20){ 84 85 st.join(); 86 87 } 88 89 } 90 91 System.out.println(st.isAlive()); 92 93 } 94 95 }