• 2PL(两阶段锁定)算法是关系数据库系统用来保证数据完整性的最古老的并发控制机制之一。在本文中,我将解释2PL算法如何工作以及如何以任何编程语言实现它。 锁类型在我们开始讨论2PL算法实现之前,解释
  • 众说纷纭:如果您正在寻找更好的方法,并且已经找到了CQRS/ES,那么它们是多余的。 如果actor用作聚合或事件投射,可以很好地与CQRS/ES一起工作,我过去曾在奥尔良做过。 因为这与人们被教
  • TLA +是一种正式的规范语言。它是设计系统和算法的工具,然后以编程方式验证这些系统没有严重错误。它是相当于蓝图的软件。通常用于设计分布式事务系统,亚马逊等公司普遍使用该语言规范设计他们的分布式事务中间件基础设施。是分布式架构设计语言。 icon
  • volatile字段以确保多个线程始终看到最新值,即使缓存系统或编译器优化正在起作用。从volatile变量读取始终返回此变量的最新写入值。java.uti.concurrent包中的大多数类的方法也具有此属性。通常在内部使用volatile字段。 icon
  • 本文提出将数据库的默认级别修改为可串行化SERIALIZABLE,不用担心性能降低,他们发现在一个设计良好的系统中,S icon
  • 当系统的多个用户尝试在“相同”时间对同一块数据进行操作时,会发生什么情况?谁赢?谁输了?本文将说明如何解决此类问题!协作领域是可以同时由多个用户/客户端更改资源的领域,这要求对我们的业务逻辑进行更智能的处理。解决此问题的最流行方法之一是使用并发控件。换句话说,当数据不同步时, icon
  • C10K问题是代表一万个并发处理连接的术语。为此,我们经常需要更改已创建的网络套接字的设置以及Linux内核的默认设置,监视  TCP发送/接收缓冲区和队列的使用,  尤其是将我们的应用程序调整为合适的选项来解决这个问题。在今天的文章中,我将讨论如果我们要构建可处理数千个连接的可伸缩 icon
  • Loom的Fiber类似Scala和Kotlin的纤程,可以解决我们的并发问题,它与Java JDK的Futures 相比,解决了控制流丢失,上下文和virality丢失的问题。可悲的是,编写并发程序还不止这些!Fiber仍然是一个类似线程的构造,这意味着,如果我们要同时运行多个纤程 icon
  • 性能调优通常遵循以下步骤: 出现性能问题 有经验的人知道可能是什么原因,并提出具体的建议 确定基准性能,应用更改,然后再次测量性能 如果与基准相比性能有所改善,请保留更改,否则恢复更改 如果现在认为性能已经足够,那么您就完成了。如果不是,请返回 icon
  • 当涉及线程池实现时,Java标准库提供了很多选择。在这些实现中,固定线程池和缓存线程池非常普遍。 icon
  • 并行化流被分成多个块,每个块独立处理,结果在最后汇总。CPU密集型代码如下: icon
  • 在本文中,探讨将Java随机数算法优化为高吞吐量和低延迟的各种技巧。技巧包括更有效的对象分配,更有效的内存访问,消除不必要的间接访问以及机械同情。(对于分布式环境的抢拍很重要)Java 7引入了, icon
  • 意图通过首先测试锁定标准而不实际获取锁定来减少获取锁定的开销。仅当锁定标准检查指示需要锁定时,实际锁定逻辑才会继续。 icon
  • 目的半同步/半异步模式将同步I / O与系统中的异步I / O分离,以简化并发编程工作,而不会降低执行效率。 icon
  • 多个条件队列以实现更好的并发性。每个锁使用单独的条件队列的优点。 它避免了虚假的唤醒和上下文切换。例如,如果您使用notifyAll进行传统等待,则最终会唤醒正在等待不同条件的线程。 当您在单独的条件队列上等待时,您可以使用signal 而不是signalAll来进一 icon
  • 目的创建一个锁,它只允许一个线程在任何时刻访问资源。 icon
  • 目的用于集中并行处理。适用场景当数据可以分成多个部分时,可以使用这种模式,所有这些部分都需要通过相同的计算来给出结果,这需要聚合以获得最终结果。说明在 icon
  • 在Web应用程序中,通常会有一个前端与REST API进行通信,以便在后端完成工作。通常,API会返回一个结果,表示您要从系统中检索成功或某些值。但是在无服务器基础设施中有一种棘手的类型的呼叫,其中返回值“消失”或者很难推回到前端,因为它需要太长时间或者 - 由于事件的链接性质 - icon