Java线程常用知识点

1.开启线程的方法

2.currentThread()方法

        这个方法显示的是当前代码块是被哪一个线程在使用。

3.currentThread和This的去别

currentThread可以显示当前所在代码块正在被哪一个线程使用,而this是java的一个保留关键字,指的是当前所在类创建的对象,它携带的是当前对象的信息和状态

4.常用线程停止的方法

         使用退出标志,使线程正常退出。

         使用stop强制终止线程,不推荐使用,因为他们会和suspend和resume一样,都是过期作废的方法,使用后会产生不可预料的后果

         使用interrupt方法终止线程

异常法退出

        使用return退出线程


5.this.interrupted和this.Interrupted

         this.interrupted:是指判断运行该代码的线程是否被终止,执行后具有将状态标志清除为false的功能

         this.Interrupted:是指判断Thread的对象是否被终止,执行后不具有将状态标志清除为false的功能

6.暂停线程的方法之suspend和resume

suspend():可以使一个线程暂停。

        resume():使暂停的线程恢复

两个方法的缺点:

        a.独占,使用不当会产生对公共对象的独占,其他线程无法访问公共对象

        b.线程不同步

7.sleep()和yeild()方法的区别

       sleep()是指让当前线程进入阻塞状态一段时间,超过这个时间后会继续运行,阻塞的过程中不会释放获得的锁对象,而且必须显示的捕捉异常

yeild()方法是指让运行的线程释放资源进入到待运行队列,重新取争取cpu和锁对象

8.线程的优先级

通过getPriority()方法可以获得线程的优先级,通过setPriority()可以设置线程的优先级,线程的优先级由1-10十个数字划分成十个等级,数字越大优先级越高,越有可能最先使用资源,超过这个范围会报IllegalArgumentException异常。

优先级具有继承性,这体现在当线程B被线程A启动的时候,如果没有单独设置B的优先级,那么线程B的优先级会和线程A的优先级一致

9.方法中的变量不存在非线程安全问题,永远都是安全的,这是方法内部的变量是私有的特性有关。





评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

卧龙在天

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

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

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

打赏作者

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

抵扣说明:

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

余额充值