多线程常用方法

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

 

posted @ 2017-03-02 09:05  多罗瑞琪  阅读(374)  评论(0编辑  收藏  举报