测试Thread中的常用方法
1 package com.yhqtv.java; 2 3 /* 4 *测试Thread中的常用方法: 5 * 1.start():启动当前线程:调用当前线程的run() 6 * 2.run():通常需要重写Thread类的此方法,将创建的线程要执行的操作声明在此方法中 7 * 3.currentThread():静态方法,返回执行当前代码的线程 8 * 4.getName():获取当前线程的名字 9 * 5.setName():设置当前线程的名字 10 * 6.yield():释放当前cpu的执行权 11 * 7.join():在线程A中调用线程B的join(),此时线程A就进入阻塞状态,直到线程B完全执行完以后,线程A才 12 * 结束阻塞状态。 13 * 8.stop();已过时,当执行此方法时,强制结束当前线程。 14 * 9.sleep(long millitime ):让当前线程“睡眠”指定的毫秒,在指定的毫秒内,当前线程是阻塞状态 15 *10.isAlive():判断当前线程是否存活 16 * 17 * @author XMKJ yhqtv.com Email:yhqtv@qq.com 18 * @create 2020-04-28-11:52 19 * 20 */ 21 class HelloThread extends Thread { 22 @Override 23 public void run() { 24 for (int i = 0; i < 100; i++) { 25 if (i % 2 == 0) { 26 27 try { 28 sleep(100); 29 } catch (InterruptedException e) { 30 e.printStackTrace(); 31 } 32 System.out.println(Thread.currentThread().getName() + ":" + i); 33 } 34 // if(i%20==0){ 35 // yield(); 36 // } 37 } 38 } 39 40 public HelloThread(String name) { 41 super(name); 42 } 43 } 44 45 public class ThreadMethodTest { 46 public static void main(String[] args) { 47 HelloThread h1 = new HelloThread("Thread:1"); 48 49 // h1.setName("线程一"); 50 51 h1.start(); 52 53 //给主线程命名 54 Thread.currentThread().setName("主线程"); 55 for (int i = 0; i < 100; i++) { 56 if (i % 2 == 0) { 57 System.out.println(Thread.currentThread().getName() + ":" + i); 58 } 59 if(i==20){ 60 try { 61 h1.join(); 62 } catch (InterruptedException e) { 63 e.printStackTrace(); 64 } 65 } 66 67 68 } 69 System.out.println(h1.isAlive()); 70 } 71 }
版权声明:本文为yhqtv-com原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。