#并发编程

      更多分类

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

19-05-25 34 banq

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

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

19-05-25 2 181 1 banq

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

数据库事务隔离级别的深坑:默认值应修改为SERIALIZABLE

19-05-04 236 2 banq

本文提出将数据库的默认级别修改为可串行化SERIALIZABLE,不用担心性能降低,他们 发现 在一个设计良好的系统中, SERIALIZABLE和READ COMMITTED之间的性能差异可以忽略... 详细

分布式事务有自己的架构语言吗?TLA +简介

19-04-15 224 1 banq

TLA +是一种正式的规范语言。它是设计系统和算法的工具,然后以编程方式验证这些系统没有严重错误。它是相当于蓝图的软件。通常用于设计分布式事务系统,亚马逊等公司普遍使用该语言规范设计他们的分布式事务... 详细

如何避免死锁和活锁? - simar

19-04-03 89 banq

死锁只能在并发(多线程)程序中发生,其中同步(使用锁)线程访问一个或多个共享资源(变量和对象)或指令集(临界区)。 活锁时当我们试图避免死锁时会使用异步锁定时发生的,其中多个线程对同一组锁的竞争写操... 详细

Java多线程傻瓜入门介绍

19-03-12 64 banq

现代计算机能够同时执行多个操作。在硬件改进和更智能的操作系统的支持下,多个操作的功能使您的程序在执行速度和响应速度方面运行得更快。 编写利用这种功能的软件既迷人又棘手:它要求您了解计算机引擎盖下发生... 详细

生产中的Vertx - Teemo Tech Blog

19-02-20 219 banq

Vert.x 是一个非常高性能的库,用于实现低延迟服务。它的 多反应堆模式 使得在几毫秒内每秒处理许多请求成为可能。 使用 . 详细

在Java中本地进行线程间数据传输的三种方式和源码展示

19-02-20 33 banq

在线程之间进行通信或发信号时首先想到的是java.lang.Object类方法:wait,notify和notifyAll。这是最基本和最广泛认可的概念,但本博客并非讲这些。 JVM实例上运行的线程... 详细

使用LMAX/Disruptor构建高扩展性的交易引擎的经验分享

19-02-06 282 1 banq

Koinex的贸易引擎使用LMAX架构的许多原则设计。这使我们能够在高峰时段承受大量负荷。 在快速增长的财务系统中,清洁和可扩展架构的重要性对于更好的可扩展性和更快的执行非常重要。LMAX架构帮助我... 详细

代码审查清单:Java并发 - Roman Leventov

19-02-03 45 banq

在 Apache Druid 社区,我们目前正在准备一份详细的清单,以便在代码审查期间使用。我决定将清单的一部分作为媒体上的帖子发布,以收集更多关于清单项目的想法。希望有人会发现它在实践中很有用。 ... 详细

使用TLA +进行分布式系统的建模与调试设计

18-12-26 84 banq

这篇文章讲述了为什么要对系统进行建模,并使用TLA +框架详尽地测试这些模型/设计。在第一部分中,我将讨论为什么建模您的设计是重要和有益的,在第二部分我将解释为什么TLA +是一个非常合适的建模框架... 详细

PayPal将CRDT数据类型落实到生产环境

18-12-23 60 banq

Dmitry Martyanov谈到PayPal如何开发处理一致性问题的分布式系统,并分享他在开发基于最终一致数据存储的系统中学到的经验教训。该解决方案利用无冲突,复制的数据类型CRDT和因果关系跟... 详细

Spring Boot线程安全指南

18-12-05 217 2 banq

Spring控制器/服务/单单例是线程安全的吗? 答案是它取决于作用域:  决定组件线程安全性的主要因素是其作用域Scope。 哪个Spring作用域是线程安全的? 为了回答这个问题,首先需... 详细

Clojure软件事务存储器

18-09-15 46 banq

多核或多CPU使得并发的要求更加迫切,传统使用锁来管理并发,遗憾的是已被证明不太理想,因为它们经常导致死锁、饥饿、竞争和容易出错。在这篇文章中,我们将探讨如何利用Clojure的软件事务存储器(STM... 详细

如何实现Spring boot应用并行调用?

18-08-31 151 banq

在我们的一个财务项目中,我们遇到了性能问题,其中一些问题是由于多次连续调用造成的,实际上,我们做了很多单独的同步调用。 例如,我们进行了三个调用来获取一些信息:客户信息、账户信息和他的投资选择,在我... 详细

共有 921 2 3 4 ... 7 下一页