📝 Java并发教程

35篇技术文档
  Java并发-AtomicReference类

📅  最后修改于: 2020-11-15 03:54:55        🧑  作者: Mango

java.util.concurrent.atomic.AtomicReference类提供了对基础对象引用的操作,这些操作可以原子方式读写,并且还包含高级原子操作。 AtomicReference支持对基础对象引用变量的原子操作。它具有get和set方法,它们的工作方式类似于对易失性变量的读写。也就是说,一个集合与该变量的任何后续get都具有事前发生的关系。原子compareAndSet方法还具...

  Java并发-AtomicIntegerArray类

📅  最后修改于: 2020-11-15 03:55:16        🧑  作者: Mango

java.util.concurrent.atomic.AtomicIntegerArray类提供了对基本int数组的操作,这些操作可以原子方式读写,并且还包含高级原子操作。 AtomicIntegerArray支持对基本int数组变量的原子操作。它具有get和set方法,它们的工作方式类似于对易失性变量的读写。也就是说,一个集合与该变量的任何后续get都具有事前发生的关系。原子compareAn...

  Java并发-AtomicLongArray类

📅  最后修改于: 2020-11-15 03:55:38        🧑  作者: Mango

java.util.concurrent.atomic.AtomicLongArray类提供了对基本长数组的操作,这些操作可以原子方式读写,并且还包含高级原子操作。 AtomicLongArray支持对基本长数组变量进行原子操作。它具有get和set方法,它们的工作方式类似于对易失性变量的读写。也就是说,一个集合与该变量的任何后续get都具有事前发生的关系。原子compareAndSet方法还具有...

  AtomicReferenceArray类

📅  最后修改于: 2020-11-15 03:55:59        🧑  作者: Mango

java.util.concurrent.atomic.AtomicReferenceArray类提供了对基础引用数组的操作,这些操作可以原子方式读写,并且还包含高级原子操作。 AtomicReferenceArray支持对基础引用数组变量的原子操作。它具有get和set方法,它们的工作方式类似于对易失性变量的读写。也就是说,一个集合与该变量的任何后续get都具有事前发生的关系。原子compare...

  Java并发-执行程序接口

📅  最后修改于: 2020-11-15 03:56:13        🧑  作者: Mango

java.util.concurrent.Executor接口是支持启动新任务的简单接口。ExecutorService方法Sr.No.Method & Description1void execute(Runnable command)Executes the given command at some time in the future.例以下TestThread程序显示了在基于线程的环境中...

  ExecutorService接口

📅  最后修改于: 2020-11-15 03:56:34        🧑  作者: Mango

java.util.concurrent.ExecutorService接口是Executor接口的子接口,并添加了用于管理生命周期的功能,包括单个任务和执行程序本身。ExecutorService方法Sr.No.Method & Description1boolean awaitTermination(long timeout, TimeUnit unit)Blocks until all ta...

  ScheduledExecutorService接口

📅  最后修改于: 2020-11-15 03:56:53        🧑  作者: Mango

java.util.concurrent.ScheduledExecutorService接口是ExecutorService接口的子接口,并支持将来和/或定期执行任务。ScheduledExecutorService方法Sr.No.Method & Description1<V> ScheduledFuture<V> schedule(Callable<V> callable, long del...

  newFixedThreadPool方法

📅  最后修改于: 2020-11-15 03:57:18        🧑  作者: Mango

可以通过调用Executors类的静态newFixedThreadPool()方法获得固定线程池。句法哪里最多2个线程将处于活动状态以处理任务。如果提交了两个以上的线程,那么它们将被保持在队列中,直到线程可用为止。如果尚未因执行程序执行中断而导致线程终止,则将创建一个新线程来代替它。在关闭该池之前,任何线程都将存在。例下面的TestThread程序显示了在基于线程的环境中newFixedThrea...

  newCachedThreadPool方法

📅  最后修改于: 2020-11-15 03:57:36        🧑  作者: Mango

可以通过调用Executors类的static newCachedThreadPool()方法来获取缓存的线程池。句法哪里newCachedThreadPool方法创建一个具有可扩展线程池的执行程序。这样的执行程序适用于启动许多短期任务的应用程序。例下面的TestThread程序显示了在基于线程的环境中newCachedThreadPool方法的用法。现场演示这将产生以下结果。输出...

  newScheduledThreadPool方法

📅  最后修改于: 2020-11-15 03:57:50        🧑  作者: Mango

可以通过调用Executors类的static newScheduledThreadPool()方法来获取预定的线程池。句法例下面的TestThread程序显示了在基于线程的环境中newScheduledThreadPool方法的用法。现场演示这将产生以下结果。输出...

  newSingleThreadExecutor方法

📅  最后修改于: 2020-11-15 03:58:16        🧑  作者: Mango

可以通过调用Executors类的静态newSingleThreadExecutor()方法获得单个线程池。句法在哪里newSingleThreadExecutor方法创建了一个执行程序,一次执行一个任务。例下面的TestThread程序显示了在基于线程的环境中newSingleThreadExecutor方法的用法。现场演示这将产生以下结果。输出...

  ThreadPoolExecutor类

📅  最后修改于: 2020-11-15 03:58:48        🧑  作者: Mango

java.util.concurrent.ThreadPoolExecutor是一个ExecutorService,它可以使用可能是多个池线程中的一个来执行每个提交的任务,通常使用Executors工厂方法对其进行配置。它还提供了各种实用程序方法来检查当前线程统计信息并进行控制。ThreadPoolExecutor方法Sr.No.Method & Description1protected voi...

  ScheduledThreadPoolExecutor类

📅  最后修改于: 2020-11-15 03:59:11        🧑  作者: Mango

java.util.concurrent.ScheduledThreadPoolExecutor是ThreadPoolExecutor的子类,还可以安排命令在给定的延迟后运行或定期执行。ScheduledThreadPoolExecutor方法Sr.No.Method & Description1protected <V> RunnableScheduledFuture<V> decorateTa...

  Java并发-期货和可赎回债券

📅  最后修改于: 2020-11-15 03:59:31        🧑  作者: Mango

与只能运行该线程的可运行接口相反,java.util.concurrent.Callable对象可以返回由线程完成的计算结果。 Callable对象返回Future对象,该对象提供方法来监视线程正在执行的任务的进度。 Future对象可用于检查Callable的状态,然后在线程完成后从Callable检索结果。它还提供了超时功能。句法例下面的TestThread程序显示了在基于线程的环境中Futu...

  Java并发-Fork-Join框架

📅  最后修改于: 2020-11-15 03:59:52        🧑  作者: Mango

fork-join框架允许在多个worker上中断某个任务,然后等待结果将它们组合在一起。它在很大程度上利用了多处理器计算机的能力。以下是fork-join框架中使用的核心概念和对象。叉子Fork是一个过程,其中任务将自身拆分为较小的独立子任务,这些子任务可以同时执行。句法这里Sum是RecursiveTask的子类,left.fork()将任务拆分为子任务。加入联接是一个过程,在该过程中,一旦子...