package com.yanan.java; /** * Created by zhangyanana on 2017/2/25. */ /* Thread的常用方法 1.start():启动线程并执行相应的run()方法; 2.run();子线程要执行的代码放入run()方法中; 3.currentThread();静态的,调取当前的线程,返回值是线程; 4.getName():获取线程的名字 5.setName():设置线程的名字 6.yield():调用此方法的线程释放当前CPU的执行权 7.join():在A线程中调用B线程的join()方法,表示,当执行到此方法,A线程停止执行, 直至B线程执行完毕,A线程再接着join()之后的代码执行 8.isAlive():判断当前线程是否存活 9.sleep(long l):显示的让当前的线程随眠 l 毫秒 10.线程通信:wait(),notify(),notifyAll() 11.getPriority():获取线程的优先级,默认为5,最大10,最小1(优先级越大,抢到CPU执行权的概率变大,并不是说一定能抢到) 12.setPriority():设置线程的优先级 */ public class TestThread1 { public static void main(String[] args) { SubThread1 st1 = new SubThread1(); /*SubThread1 st2 = new SubThread1();*/ st1.setName("子线程"); Thread.currentThread().setName("--------主线程"); st1.start(); /*st2.start();*/ for(int i =0;i<100;i++){ System.out.println(Thread.currentThread().getName() + ":" + i); /*if(i % 10==0){ Thread.currentThread().yield(); }*/ /*if( i == 20){ try { st1.join(); } catch (InterruptedException e) { e.printStackTrace(); } }*/ } } } class SubThread1 extends Thread{ public void run(){ for(int i =0;i<100;i++){ System.out.println(Thread.currentThread().getName() + ":" + i); } } }