多线程(一)

测试Thread中常用的方法
        1.start():启动当前线程,调用当前线程的run();
        2.run():通常需要重写Thread类中的此方法,将创建的线程执行的操作声明在此方法中;
        3.currentThread():静态方法,返回执行当前代码的线程;
        4.getname():获取当前线程的名字;
        5.setname():设置当前线程的名字;
        6.yieid():释放当前cpu的执行权
        7.join():在线程A中调用B的join(),此时线程A进入阻塞状态,直到线程B完全执行完之后,线程A才结束阻塞二状态;
        8.stop;已过时,执行时,强制结束当前线程;
        9.sleep(long millitime):让当前线程睡眠,指定的millitime为毫秒。在指定的时间内,当前线程为阻塞状态
        10.isAlive():判断当前线程是否存活
线程的优先级
            MAX_PRIORITY:10
            MIN_PRIORITY:1
            NORM_PRIORITY:5
如何获取和设置当前线程的优先级
            getpriority():获取线程的优先级
            setpriority():设置当前线程的优先级

    说明:高优先级的线程要抢占低优先级线程的cpu的执行权,但只是在概率上讲,高优先级高概率的情况下被执行,
         并不意味着只有高优先级的线程执行完以后,低优先级的线程才执行。

创建线程两种方式

方式一:

1.创建一个继承于thread类的子类
2.重写Thread类的run() -->将此线程执行的操作声明在run()中
3.创建Thread类的子类的对象
4.通过此对象调用start()

方式二:

1,创建一个实现了Runable的接口的类
2,实现类去实现Runable中的抽样方法:run()
3,创建实现类的对象
4,将此对象作为参数传递到thread类的构造器中,创建Thread类的对象
5,通过Thread类对象调用start()
比较创建线程的两种方式
    开发中优先选择:实现runable接口的方式
    原因:1.实现的方式没有类的单继承性的局限性
        2.实现的方式更适合处理多个线程有共享数据的情况
    联系:public class Thread impiements Runnable
    相同点:两种方法都需要重写ron()方法,将线程奥执行的逻辑声明在run()中
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

东北炸鸡

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值