首页 >> 大全

线程什么意思?线程基本用法

2022-08-10 大全 170 作者:考证青年

是什么意思(线程基本用法)()基本方法列表:

线程基本用法

创建线程

创建线程的三种方式:

继承类

通过继承类创建线程的步骤:

定义该类的子类并覆盖该类的run方法。 run方法的方法体代表线程要完成的任务,所以run方法称为。创建子类的实例会创建一个线程对象。调用线程对象的start方法启动线程。

线程基本用法

实现接口

实现接口优于继承类,因为:

通过实现接口创建线程的步骤:

定义接口的实现类,重写接口的run方法。 run方法的方法体也是线程的线程执行体。创建实现类的实例,并以此实例为对象创建对象,即真正的线程对象。调用线程对象的start方法启动线程。

线程基本用法

实现接口

继承类和实现接口这两种创建线程的方式都没有返回值。因此,线程执行后,无法获取执行结果。但是如果你期望执行结果呢?

为了解决这个问题,Java1.5,提供了接口和接口,通过它可以在线程执行结束后返回执行结果。

通过实现接口创建线程的步骤:

创建接口的实现类,实现调用方法。 call 方法将充当线程执行体并具有返回值。创建实现类的实例,用封装了对象调用方法返回值的类来包装对象。使用该对象作为对象创建并启动一个新线程。线程执行结束后调用对象的get方法获取返回值。

线程基本用法

run方法和run方法有什么区别?可以直接调用类的run方法还是线程休眠?

使用 .sleep 方法使当前正在执行的线程进入休眠状态。

使用 .sleep 需要传递一个整数值,表示线程将休眠的毫秒数。

.sleep 方法可能会抛出异常,因为异常不能跨线程传播回主线程​​,必须在本地处理。线程中抛出的其他异常也需要在本地处理。

线程基本用法

线程礼貌

调用

.yield 方法声明当前线程已经完成了生命周期中最重要的部分,可以切换到其他线程执行。

这个方法只是给线程调度器的一个建议,也只是建议其他具有相同优先级的线程可以运行。

线程基本用法

终止线程

中的stop方法

存在缺陷且已弃用。

使用 .stop 停止线程会导致它解锁所有锁定的监视器(因为未经检查的异常会向上传播,这是自然的结果)。如果以前受这些监视器保护的任何对象处于不一致状态,则损坏的对象将对其他线程可见,从而可能导致任意行为。 .stop 的许多用法应该由只修改某些变量以指示目标线程应该停止运行的代码替换。目标线程应该定期检查这个变量,如果变量表明它想停止运行,它应该从它的run方法中有序地返回。如果目标线程等待很长时间(例如,在条件变量上),则应使用中断方法来中断等待。

当一个线程正在运行时,另一个线程可以通过该方法直接中断其运行状态。

线程基本用法

如果一个线程的run方法执行了一个无限循环并且没有执行sleep等会抛出的操作,那么调用线程的方法不会导致线程提前结束。

但是调用方法会设置线程的中断标志,调用方法会返回true。因此,可以在循环体中使用该方法判断线程是否处于中断状态,从而提前结束线程。

有两种方法可以安全地终止线程:

示例:使用标志控制线程终止

示例:使用带有 .控制线程终止的方法

线程基本用法

守护线程

什么是守护线程?

为什么我们需要守护线程?

如何使用守护线程?

线程基本用法

yield和join方法有什么区别为什么sleep和yield方法都是静态的

sleep 和 yield 方法

类将处理线程的状态。

所以在其他没有状态的线程上执行这两个方法是没有意义的。这就是为什么这些方法是静态的。它们可以在当前正在执行的线程中工作,避免程序员错误地认为这些方法可以从其他未运行的线程中调用。

Java线程是否严格按照线程优先级执行

即使设置了线程的优先级,也不能保证更高优先级的线程会先执行。

原因是线程优先级取决于操作系统的支持。但是不同操作系统支持的线程优先级并不相同,与Java中的线程优先级不能很好的对应。

Benpi 是一名拥有 5 年工作经验的程序员。关于Java,他做过资料的整合,一个完整的Java学习课程,学习资料和工具。有需要的小伙伴可以私信我,发送“通讯”后免费领取。如果你有任何关于学习Java的问题(学习方法、学习效率、如何就业),都可以问我。希望你也能靠自己的努力成为下一个优秀的程序员

郑重声明:本文版权归原作者所有,转载文章仅出于传播更多信息之目的。如果作者信息标注有误,请尽快联系我们修改或删除,谢谢。

关于我们

最火推荐

小编推荐

联系我们


版权声明:本站内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 88@qq.com 举报,一经查实,本站将立刻删除。备案号:桂ICP备2021009421号
Powered By Z-BlogPHP.
复制成功
微信号:
我知道了