多线程设计

  
共有 1331 2 3 4 ... 9 下一页

用虚拟线程编写Http服务器 - piot

22-12-28 552 3k

在本文中,您将学习如何使用 Java 创建 HTTP 服务器以及如何使用虚拟线程来处理传入的请求。我们将此解决方案与使用标准线程池的 HTTP 服务器进行比较。我们的测试将在大约 200 个并发请求... 详细

Java虚拟线程:异步编程之死

22-11-23 1013 3 13k
最近,虚拟线程的第二个预览版作为 JEP 436 的一部分发布。第一个预览版中引入的一些更改已经完成,我们离获得对虚拟线程的完全访问权又近了一步。在本文中,我们将尝试为您提供有关为什么 JVM 生态... 详细

Java线程stop等方法被弃用(Java SE 19 & JDK 19)

22-11-16 853 6k

Java 中Thread 一些方法被弃用:stop, suspend, resume 为什么被Thread.stop弃用? 因为它本质上是不安全的。停止一个线程会导致它解锁它所锁定的所有监视... 详细

Rust所有权与借用图示概念

22-10-09 1229 1 4k
Rust 中的所有权是什么? Rust没有垃圾收集器,您需要显式分配和释放内存空间。当涉及大型代码库时,这很快就会变得乏味和具有挑战性。 传统上,有两种管理内存的基本方法: 第一个是垃圾收集器... 详细

Java并发编程中双重检查锁漏洞

22-09-23 524 4k

单例模式在实际工作或面试中出现的频率更高,double-checked lock是单例常见实现: public class SimpleSingleton4 {     pr... 详细

Java使用默认线程池的陷阱问题

22-09-23 532 1k

我们都知道JDK1.5之后提供了ThreadPoolExecutor类,可以用来自定义线程池。 线程池有很多好处,比如: 减少资源消耗,避免频繁创建和销毁线程,可以直接复用已有线程。 提供速... 详细

Java并发编程Bug:ThreadLocal已用完但未清除

22-09-23 506 2k

在Java中,有许多技术可以确保线程安全。你可以使用synchronized和Lock等关键字来锁定代码块。 但它们有一个共同的特点,那就是锁定会对代码的性能产生一定的损失。 其实,JDK中还提供... 详细

Java 18中启动Project Loom数百万线程

22-06-26 2137 1 1k

在 微服务 时代的现代,我们与太多的服务进行通信以完成特定的工作。在这种情况下,线程大部分时间都处于阻塞状态。虽然现代操作系统有时可以处理数百万个打开的套接字,但我们无法打开许多通信通道,因为我... 详细

优步爆Go语言容易发生的数据并发争夺问题

22-06-11 1343 1 4k

Uber已经采用Golang(简称Go)作为开发 微服务 的主要编程语言。我们的Go monorepo由大约5000万行代码组成(还在增长),包含大约2100个独特的Go服务(还在增长)。 G... 详细

JVM c1、c2 编译线程——CPU 消耗高?

22-06-07 795 3k

c1, c2编译器线程是由Java虚拟机创建的,以优化你的应用程序的性能。偶尔,这些线程会倾向于消耗高CPU。在这篇文章中,让我们了解更多关于c1、c2编译器线程的情况,以及如何解决它们的高CPU消... 详细

Java可扩展的读写锁 - puzpuzpuz

22-06-07 474

锁或互斥体(互斥)是最基本的并发原语之一。很难找到一个无法解释互斥锁的开发人员,至少在基本层面上是这样。然而,互斥锁远不止这些。他们可能是: 操作系统级(想想,一个 pthread 互斥锁)或... 详细

Loom会造成CPU密集型线程的不公平调度

22-05-29 839 1 1k

Project Loom (  JEP 425  ) 可能是 Java 有史以来最受期待的新增功能之一。它对虚拟线程(或“绿色线程”)的实现保证了开发人员能够创建高度并发的应用程序,例如具有数十万个... 详细

多线程与Spring容器事务机制 - DZone

22-03-31 378 6k

Spring 负责所有底层事务管理细节,并为不同的事务 API 提供一致的编程模型,但有多少人真正了解它在多线程环境中的行为方式?是否可以在多个线程中打开事务并写入数据? 让我们退一步思考一下En... 详细

使用Loom创建虚拟线程 - david

22-02-28 724 1 4k

在这篇文章中,我们展示如何使用Loom实现类似Go语言的绿色虚拟线程。 Project loom 仍处于预览阶段,这意味着 api 可能随时更改。如果您想自己尝试这些示例,可使用 Early-acc... 详细

Go最重要的特性是:隐形异步

22-02-04 860 1 2k

当被问及 Go 最重要的特性时,许多人会谈论 Go 的简单性、C 互操作性、编译速度等。 然而,Go 的最佳特性是在同步接口中编写 异步 代码的能力。 作者给出了一个在 Go 与 Java 中发... 详细