代码改变世界

android开发 多线程

2016-03-17 16:30  宁小哥  阅读(202)  评论(0编辑  收藏  举报

第一种方法:

开线程:创建一个类,继承Thread类。实例化此类,调用此类父类的start();方法

代码:


public class FirstThread  extends Thread{
    @Override
    public void run() {
        for(int i = 0; i < 100; i++){
            System.out.println("thread -->" + i);
        }
    }
}

 


public class Test {
    public static void main(String args []) {
        FirstThread thread = new FirstThread();
        thread.start();
        for(int i = 0; i < 100; i++){
            System.out.println("main -->" + i);
        }
    }
}

第二种方法:创建一个类,让此类implements Runnable。实例化此类和Thread类,并把实例化出来的类作为参数传给Thread类

代码:

package test;

public class RunnableImpl implements Runnable{

    @Override
    public void run() {
        // TODO Auto-generated method stub
        for(int i = 0; i < 100 ; i++){
            System.out.println("RunnableImpl -->" + i);
        }
    }
    

}

package test;

public class Test {
    public static void main(String args []) {
        RunnableImpl runnableImpl = new RunnableImpl();
        Thread thread = new Thread(runnableImpl);
        thread.start();
    }
}

补充:

Thread.sleep(2000);  静态方法 线程睡眠2秒,2秒休眠结束后抢到cpu会马上执行

Thread.yield(); 静态方法 结束当前线程,重新抢夺cpu,抢到cpu后会马上执行

thread.getPriority(): 获取当前线程的优先级

thread.setPriority(Thread.MAX_PRIORITY); 设置当前线程的优先级为最高级

线程的优先级最大是10 最小是1