#多线程

      更多分类

为什么我们需要volatile关键字?

19-05-25 2 518 1 banq

volatile字段以确保多个线程始终看到最新值,即使缓存系统或编译器优化正在起作用。从volatile变量读取始终返回此变量的最新写入值。java.uti.concurrent包中的大多数类的方法... 详细

Java线程池newCachedThreadPool()与newFixedThreadPool()区别 | Baeldung

20-03-11 142 banq

当涉及 线程池 实现时,Java标准库提供了很多选择。在这些实现中,固定线程池和缓存线程池非常普遍。 缓存线程池newCachedThreadPool . 详细

对响应式编程的怀疑 - lukaseder

19-11-15 808 banq

响应式编程肯定很优雅,但是小伙子,即使对于最次要的任务,它是否也会增加认知负担……必须有一种更简单的方法来实现。 众说纷纭: 基础架构逻辑/业务逻辑比率确实不好。让我想起了EJB 2.0实体。 ... 详细

读写锁(Reader Writer Lock)

19-04-24 272 jdon

目的 假设我们有一个共享内存区域,上面详细介绍了基本约束。可以保护互斥锁后面的共享数据,在这种情况下,没有两个线程可以同时访问数据。但是,此解决方案不是最理想的,因为读取器R1可能具有锁定,... 详细

每个锁创建多个条件队列以避免虚假唤醒

19-05-25 199 banq

多个条件队列以实现更好的并发性。每个锁使用单独的条件队列的优点。 它避免了虚假的唤醒和上下文切换。例如,如果您使用notifyAll进行传统等待,则最终会唤醒正在等待不同条件的线程。 当您在... 详细

保护性暂挂模式(Guarded Suspension Pattern)

19-04-24 256 jdon

目的 如果要对未处于正确状态的对象执行方法,请使用Guarded Suspension Pattern来处理某种情况。 维基百科说 在并发编程中, guarded suspension... 详细

线程池模式(Thread Pool Pattern)

19-04-25 354 jdon

目的 通常情况下,要执行的任务是短期的,并且任务数量很大。为每个任务创建一个新线程会使系统花费更多时间来创建和销毁线程,而不是执行实际任务。线程池通过重用现有线程并消除创建新线程的延迟来解决此... 详细

ThreadLocal模式

19-04-25 141 jdon

目的 将全局变量固定到线程,以防被其他线程破坏。如果在可调用对象或可运行对象中使用非只读的类变量或静态变量,则需要这样做。 通过应用 本地线程模式Thread Local Pattern,... 详细

共有 971 2 3 4 ... 13 下一页