爪哇 执行者框架教程和示例

爪哇 5 has introduced new framework called 执行器框架 for managing 线s.We have already seen before how to create a 线.
If you have noted, we need to create an object of 线 class using new 线(runnableObject), so we need to create 线 object for each task.Imagine a situation where you have thousands of task to be 执行d and if you create each 线 for thousands of tasks, you may get performance overheads as creation and maintenance of each 线 is also an overhead. 执行者 framework will solve the problem. In executor framework, you can create specified number of 线s and reuse them to 执行 more tasks once it completes its current task.
执行者 framework 简化了创建多线程应用程序的设计并管理了线程的生命周期。程序员不必自己创建或管理线程。’executor框架的最大优势。
执行器框架有一些重要的类或接口。

执行者

此接口用于提交新任务。它具有一种称为"execute".

执行器服务

它是Executor的子界面。此界面为执行者提供了管理任务生命周期的方法。
例如,它提供了用于关闭执行程序的方法。

ScheduledExecutorService

它是执行程序服务的子接口,它提供用于以固定间隔或具有初始延迟计划任务的方法。

执行者

此类提供了用于创建线程池的工厂方法。
执行器的重要工厂方法是:

newFixedThreadPool: 此方法返回最大大小为(let’例如n个线程)是固定的。如果所有n个线程都在忙于执行任务并且提交了其他任务,则它们将必须在队列中,直到线程可用为止。
newCachedThreadPool: 此方法返回一个无界线程池。它没有’t具有最大大小,但是如果任务数量较少,则它将拆除未使用的线程。如果一个线程在1分钟内没有使用过(keepAliveTime),它将被拆除。
newSingleThreadedExecutor: 此方法返回一个保证使用单线程的执行程序。 
newScheduledThreadPool: 此方法返回一个固定大小的线程池,该线程池可以计划命令在给定的延迟后运行或定期执行。

线程池执行器

线程池执行器是ThreadPool的实际实现。它扩展了实现ExecutorService接口的AbstractThreadPoolExecutor。您可以从Executor类的工厂方法创建ThreadPoolExecutor。推荐一种获取实例的方法 线程池执行器 如上所示。
这是Executor Framework教程的索引发布。这是Java 执行器框架教程的文章列表。

导入联系人

您可能还喜欢:

相关文章

  • 获取Java中的线程ID
    9月30日

    获取Java中的线程ID

    在本文中,我们将学习获取Java中正在运行的线程的线程ID。 Id是在线程创建时生成的唯一正数。该ID在线程的生存期内保持不变。线程终止时,其ID可用于引用另一个线程,但是[…]

  • 爪哇中的ArrayBlockingQueue
    9月19日

    爪哇中的ArrayBlockingQueue

    在本文中,我们将了解Java并发队列BlockingQueue。然后我们将深入其中’其中之一的实现ArrayBlockingQueue。什么是BlockingQueue 阻塞队列接口是在Java 5中并发API下引入的,它表示一个线程安全的队列,可以在其中添加和删除元素。我们可以有 […]

  • 将Java程序延迟几秒钟
    12月11日

    将Java程序延迟几秒钟

    在这篇文章中,我们将看到如何将Java程序延迟几秒钟。在很多情况下,我们需要等待其他任务完成,因此我们需要延迟Java程序。有多种方法可以延迟Java程序的执行。使用Thread.sleep 睡觉方法会使当前线程暂停[…]

  • 29 May

    如何使用Java中的线程打印偶数和奇数

    在本文中,我们将看到如何使用Java中的线程打印偶数和奇数。另请参见:如何在Java中使用3个线程打印序列问题您将获得两个线程。您需要使用一个线程打印奇数,而使用另一线程打印偶数。您需要以自然顺序打印[…]

  • 爪哇中的wait(),notify()和notifyAll()
    10月22日

    为什么在对象类中使用wait(),notify()和notifyAll()方法

    在这篇文章中,我们将看到为什么wait(),notify()和notifyAll()方法在对象类中而不在线程类中。这是最常问到的Java多线程面试问题之一。您可能知道wait(),notify()和notifyAll()方法在Object类中,您知道相同的原因吗?让’s […]

  • 爪哇中的自定义BlockingQueue
    10月16日

    爪哇中的自定义BlockingQueue实现

    在本文中,我们将看到如何创建自己的自定义BlockingQueue。这是最常被问到的Java面试问题之一。您需要实现自己的BlockingQueue。这个问题有助于面试官对多线程概念有所了解。这是BlockingQueue的简单实现。我们将使用数组将元素存储在[…]

发表评论

您的电子邮件地址不会被公开。 必需的地方已做标记 *

订阅我们的新闻

获取质量教程到您的收件箱。现在订阅。