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);
}
}
}