Dojo
话题
新佳
订阅
极道
元认知
元逻辑
元设计
元编程
元语言
并发编程指南
Java中几个常用并发队列比较 | Baeldung
在多线程应用程序中,队列需要处理多个并发的生产者-消费者方案。正确选择并发队列对于在我们的算法中实现良好性能至关重要。 首先,我们将看到阻塞队列和非阻塞队列之间的一些重要区别。然后,我们将看一些实现和最佳实践。
REST API设计:如何处理Http并发一致性事务更新? - mscharhag
并发控制可能是REST API的重要组成部分,尤其是当您期望对同一资源的并发更新请求时。在本文中,我们将介绍If-Unmodified-Since和If-Match标头不同的选项,从而避免通过HTTP丢失更新。让我们从一个示例请求流开始,以了解问题:
使用不可变Java记录Record来避免多线程并发错误 - foojay
在多线程 Java 应用程序中,任何线程都可以更改对象的状态。Java 语言规范中的Java 内存模型
使用Go两年学到的五大经验教训 - hashnode
在本文中,我将讨论其中的一些错误以及我在未来项目中尝试减轻这些错误的经验教训。这绝不是对理想解决方案的讨论,这只是我通过使用 Go 的经验学习和发展的想法: 1. Goroutines在我看来,Go 作为一种语言非常吸引人的地方(除了
该不该使用Reactive编程?先预览一下Loom项目中的Reactive模型和协程 - frankel
Java 15将发布Project Loom的第一个版本。我相信这将改变JVM。在本文中,我想深入探讨导致我相信这一点的原因。
结合DDD和Spring Boot实现基于REST API的并发控制 -DZone Java
在多用户环境中,处理并发访问是我们的主要工作。并发控制可以而且应该反映在我们的API中,特别是因为HTTP提供了一组标头和响应代码来支持它。首选的方法是将version属性添加到我们的读取模型中,并在不安全的方法中进一步传递它。如果在服务器端检测到冲突,我们可以409 CONFLIC
使用JDK16支持的Loom虚拟线程的代价 – Webtide
在本系列博客中,我们将研究OpenJDK 16早期访问版本中现在可用的Loom虚拟线程新功能。详细点击标题见原文,直接上结论:Loom确实允许您有许多线程,甚至1,000,000个线程,但如果这些线程具有深堆栈,则不允许这样做。这似乎增加了堆栈条目的总内存使用量,并且还付出了长时间垃
BEAM和JVM虚拟机对比:JVM是为并行而构建的,而BEAM是为并发构建的 | Erlang
任何编程语言在Erlang生态系统中的成功都可以分为三个紧密耦合的组件。它们是:Erlang编程语言的语义,并在其上实现其他语言用于构建可伸缩和弹性并发系统的OTP库和中间件与语言语义紧密耦合的BEAM虚拟机和OTP。单
Ruby 3.0.0发布:Ruby3将比Ruby2快3倍
从2015年开始,我们朝着Ruby 3进行了艰苦的开发,其目标是性能、并发性和类型三方面提升。Matz特别提到性能,“ Ruby3将比Ruby2快3倍”,也就是
ReadWriteLock读写锁升级的踩坑:Kotlin作弊,最好使用StampedLock - javaspecialists
在Java 5中,我们获得了ReadWriteLock接口,并带有ReentrantReadWriteLock实现。它具有明智的限制,我们可以将写锁降级为读锁,但不能将读锁升级为写锁。当我们尝试时,我们将立即陷入死锁。出现此限制的原因是,如果两个线程都具有读锁,那么如果两个线程都尝试同时升级
Rust语言异步编程简介 - Shakaib
我认为可以肯定地说,Rust最令人期待的语言功能之一终于落地了。我假设您一些有关Rust的语法和生态系统的基础知识。但是在深入研究编码部分之前,让我们用Async的定义介绍异步编程的一些基本概念。 异步定义:
低延迟系统请选择Java而不是C++ - stackoverflow
在开发低延迟的软件系统时,人们普遍认为,除了C ++之外,您使用其他任何语言是疯狂的,因为其他任何语言都具有很高的延迟。但是,我在这里是要说服您使用相反的、违反直觉的、几乎是异端的概念:在软件系统中实现低延迟时,Java更好。在本文中,我想以一个特殊的软件示例为例,该软件具有低延迟性
Java的SynchronizedMap、ConcurrentHashMap与NonBlockingHashMap的可伸缩性对比 - vmlens
我们来看三种不同的哈希Map,两种来自JDK,另一种来自开源库JCTools。 SynchronizedMap来自JDK的线程安全哈希M
Project Loom抢先体验版
这些早期访问版本在GNU通用公共许可证版本2下提供,带有Classpath Exception。Linux / x64
使用CountDownLatch或循环屏障对多线程代码进行单元测试 -Xebia
随着处理器比以往包装更多的内核,并发编程已成为最有效利用它们的最前沿。但是,事实是并发程序的设计,编写,测试和维护要困难得多。因此,如果我们毕竟可以为并发程序编写有效且自动化的测试用例,则可以解决其中的大部分问题。 CountDow
一个基于Project Loom的Jetty http服务器
使用Project Loom的虚拟线程用Jetty创建一个简单的http服务器,对于简单的http服务器,使用虚拟线程所需的工作量非常少!此外,一些简单的性能测试结果看起来Loom很有希望。在以5000 rps的速率发送100毫秒的请求时,使用虚拟线程时,我能够处理99%的请求而几乎不增加响
Java并发中volatile和happen before是什么? - javarevisited
要了解happen before,需要首先了解如果多个线程访问同一个变量会发生什么问题?尤其是当一个线程写入该变量,而一个线程同时从该变量读取时。例如,假设我们有以下由线程T1执行的代码(请注意,整数变量y在x之前初始化):
给线程池取一个名称有助于调试 - bozho
我们的软件倾向于使用大量线程池-主要是通过java.util.concurrent.ExecutorService实现(通过创建Executors.new...。我们为各种异步用例创建线程池,并且可以在各处看到它们。所有这些执行器都有线程工厂。它隐藏在默认的工厂方法,但您可以提供线程工厂;如
上页
下页
关闭