如果没有良好的多线程知识,您将无法获得高级 Java 工作
成都创新互联公司是网站建设技术企业,为成都企业提供专业的成都网站设计、成都网站制作,网站设计,网站制作,网站改版等技术服务。拥有十年丰富建站经验和众多成功案例,为您定制适合企业的网站。十年品质,值得信赖!
几乎可以肯定,多线程知识是 Java 高级职位面试的主题。如果没有对多线程的清晰理解,无论是否有实践经验,你很可能会失败。
几乎每个生产应用程序都使用多线程范式
在实际项目的实践中,您将使用应用程序服务器或其替代品。它们都基于线程池等多线程解决方案。任何在其之上的适当实现都需要并发一致性。
多线程基于 Thread 和 Runnable。Thread 是一个启动新的独立活动并执行 Runnable 提供的指令的类。
线程是一个附加到操作系统的实体,所以这就是它是一个重类的原因。同时 Runnable 只是一组指令——所以这就是为什么它是轻量级的。
线程可以通过使用Run()方法在当前运行的线程内部执行指令。为了在新活动中运行指令,Thread 提供了Start()方法。
线程可以在其中执行许多可运行的任务。这是一篇更详细的文章。在这里,您可以看到一个非常简短的示例,其中许多可运行对象(任务)在一个线程中运行:
你不能只是stop()或suspend()线程。这些方法已弃用。您必须注意使用isAlive()或的中断设计isInterrupted()
线程可以是守护进程。即使最后一部分不会执行,守护线程也会立即中断。所以这样的线程可以附加到资源上。否则,它们可能是资源或/和内存泄漏的原因。
只要 Thread 实例很重,使用 ThreadPool 类重用相同的 Thread 是有意义的。您可以根据线程使用不同的 ThreadPool 实现。
FixedThreadPool 是一个具有预定义线程数的简单池。期间线程数不会改变。使用它是有意义的:
与Fixed Thread Pool相反,这个可以在添加更多任务时动态增加线程数。每个新创建的线程在使用时都将处于活动状态,否则将在空闲 60 秒后将其删除。
为了为您的应用程序使用最好的线程池,您需要了解以下内容:
依靠这些知识,您可能会得出以下结论:
本文仅重点介绍有关线程、可运行和线程池概念的主要内容,但并未完全涵盖。仍有许多方面可能发挥重要作用。我希望你喜欢我使用的信息图表。如果您认为我遗漏了与此主题相关的重要内容,请留下您的反馈。谢谢阅读!
*原文链接:https://dzone.com/articles/what-every-java-dev-should-know-thread-runnable-thread-pool
当前题目:每个Java开发人员都应该知道的关于线程、Runnable和线程池的知识
标题URL:http://www.mswzjz.cn/qtweb/news23/7373.html
攀枝花网站建设、攀枝花网站运维推广公司-贝锐智能,是专注品牌与效果的网络营销公司;服务项目有等
声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 贝锐智能