Java4Andriod 从零学起 ---learn13

多线程

1.继承Thread-->复写其中的run()方法即可

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

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

class Test{
    public static void main(String args []){
        //生成线程类的对象
        FirstThread firstThread = new FirstThread();
        SecondThread secondThread = new SecondThread();
        //启动线程
        firstThread.start();  //这里不要写   firstThread.run(),不然就变成单线程了
        secondThread.start();
        for(int i=0 ; i<100 ; i++)
            System.out.println("Main-->"+i);
    }
}

/*
    1.一共有4个线程
        |--主线程  主函数
        |--垃圾回收线程
        |--FirstThread
        |--SecondThread
    2.相当于CPU在不同的线程中快速切换,线程抢占CPU

*/

2.实现Runnable接口

class RunnableImpl implements Runnable{
    public void run(){
        for(int i=0 ; i<100 ; i++){
            System.out.println("Runnable-->"+i);
            if(i==50){
                try{
                    Thread.sleep(5000);   //这是一个静态方法,不用生成对象. 括号后面是毫秒
                }
                catch(Exception e){
                    e.printStackTrace();
                }
            }
        }
    }
}


/*
    1.中断线程的方法
        |--Tread.sleep(毫秒); 静态方法
            当运行这行代码之后,线程并不是直接进入运行状态,而是进入准备状态
        |--Tread.yield();
            从当前线程让出CPU, 但会继续重新抢CPU
    2.设置线程的优先级
        |--getPriority();
        |--SetPriority(1-10);
*/
---------下面用到匿名内部类来实现Runnable接口------

class Test{
    public static void main(String[] args){
        Thread th = new Thread(new Runnable(){         //内部匿名类实现runnable接口
            public void run(){
                for(int i=0 ; i<100 ; i++)
                    System.out.println("Runnable-->"+i);
            }
        });

        th.start();
        for(int i=0 ; i<100 ; i++)
            System.out.println("Main-->"+i);
    }
}

//这里直接用内部匿名类来实现 活学活用  哈哈!!


class Test{
    public static void main(String[] args){
        //生成接口实现类对象
        RunnableImpl ri = new RunnableImpl();
        //将其传入Thread的构造函数中
        Thread th = new Thread(ri);
        //设置最大优先级
        th.setPriority(Thread.MAX_PRIORITY);
        //设置最小优先级
        th.setPriority(Thread.MIN_PRIORITY);
        //启动线程
        th.start();
        //主线程中对比
        for(int i=0 ; i<100 ; i++)
            System.out.println("Main-->"+i);
        //取得线程优先级
        System.out.println("th的优先级"+th.getPriority());
    }
}



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值