线程的使用与说明

想要使用线程有两种方法:
一是继承Thread类,二是实现Runnable接口。根据单继承和多实现的特性具体情况具体使用,两种的效果是一样的。

线程的特性:
(1)线程的调用是随机的。
(2)执行start()方法的顺序不代表线程启动的顺序。
(3)数据共享的情况就是多个线程可以访问同一个变量,会产生“非线程安全”问题,此时需要通过加锁 来保证线程安全。
(4)currentThread()方法可返回代码正在被哪个线程调用的信息。
(5)isAlive()方法的功能是判断当前的线程是否处于活动状态。
(6)sleep()方法的作用是在指定的毫秒数内让当前“正在执行的线程”休眠(暂停执行)。
(7)getId()方法是取得线程的唯一标识。
(8)Thread.stop()方法用于停止线程,但是这个方法是不安全的,而且是已被弃用作废的。大多数停止一个线程的操作使用Thread.interrupt()方法,这个方法不会终止一个正在运行的线程,还需要加入一个判断才可以完成线程的停止。
(9)this.interrupted():测试当前线程是否已经是中断状态,执行后具有将状态标志清楚维false的功能;this.isInterrupted():测试线程Thread对象是否已经是中断状态,但不清楚状态标志。
(10)使用stop()释放锁将会给数据造成不一致性的结果。
(11)使用suspend()方法暂停线程,使用resume()方法恢复线程的执行。
(12)suspend 与 resume 方法的缺点:独占、不同步
(13)线程的优先级分为1~10个等级,数值越大等级越高。线程的优先级具有:继承性、规则性、随机性
(14)守护线程:典型的守护线程就是垃圾回收线程,当进程中没有非守护线程了,则垃圾回收线程也就没有存在的必要了,自动销毁。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

二次觉醒

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

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

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

打赏作者

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

抵扣说明:

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

余额充值