并发编程

IT规划师3 天前
多线程·并发编程·线程同步
并发编程 - 线程同步(九)之信号量Semaphore前面对自旋锁SpinLock进行了详细学习,今天我们将学习另一个种同步机制——信号量Semaphore。
IT规划师5 天前
多线程·并发编程·线程同步
并发编程 - 线程同步(八)之自旋锁SpinLock前面对互斥锁Monitor进行了详细学习,今天我们将继续学习,一种更轻量级的锁——自旋锁SpinLock。
milo.qu7 天前
java·并发编程
一、并发编程基础知识注:1.L1Cache、L2Cache集成在CPU内部,L3Cache一般集成在主板上。如果利用空间局部性:
IT规划师9 天前
多线程·并发编程·线程同步
并发编程 - 线程同步(七)之互斥锁Monitor通过前面对锁lock的基本使用以及注意事项的学习,相信大家对锁的同步机制有了大致了解,今天我们将继续学习——互斥锁Monitor。
IT规划师13 天前
多线程·并发编程·线程同步
并发编程 - 线程同步(六)之锁lock通过前面对Interlocked类的学习,相信大家对线程同步机制有了更深的理解,今天我们将继续需要另一种同步机制——锁lock。
IT规划师14 天前
多线程·并发编程·线程同步
并发编程 - 线程同步(五)之原子操作Interlocked详解二上一章我们学习了原子操作Interlocked类的几个常用方法,今天我们将继续学习该类的其他方法。该方法用于原子的将变量的值设置为新值,并返回变量的原始值。该方法共有14个重载方法,其中13个为常见的数据类型,有1个为泛型版本。
IT规划师16 天前
多线程·并发编程·线程同步
并发编程 - 线程同步(四)之原子操作Interlocked详解一上一章我们了解了原子操作Interlocked类的设计原理及简单介绍,今天我们将对Interlocked的使用进行详细讲解。
IT规划师17 天前
多线程·并发编程·线程同步
并发编程 - 线程同步(三)之原子操作Interlocked简介上一章我们了解了3种处理多线程中共享资源安全的方法,今天我们将更近一步,学习一种针对简单线程同步场景的解决方案——Interlocked。
charlie11451419117 天前
开发语言·c++·并发编程·基础学习
高阶开发基础——快速入门C++并发编程6——大作业:实现一个超级迷你的线程池目录实现一个无返回的线程池完全代码实现Reference实现一个简单的线程池非常简单,我们首先聊一聊线程池的定义:
桦说编程20 天前
java·性能优化·函数式编程·并发编程
CompletableFuture 超时功能有大坑!使用不当直接生产事故!本文未经允许禁止转载!上一篇文章《如何实现超时功能(以CompletableFuture为例)》中我们讨论了 CompletableFuture 超时功能的具体实现,从整体实现来说,JDK21前的版本有着内存泄露的bug,不过很少对实际生产有影响,因为任务的编排涉及的对象并不多,少量内存泄露最终会被回收掉。从单一功能内聚的角度来说,超时功能的实现是没有问题;然而由于并发编程的复杂性,可能会出现 Delayer 线程延迟执行的情况。本文将详细复现与讨论 CompletableFuture 超时功能的大坑,同
桦说编程23 天前
java·性能优化·函数式编程·并发编程
如何安全发布 CompletableFuture ?Java9新增方法分析本文未经允许禁止转载。JDK9 中对于CompletableFuture做了新的增强,除了超时功能(orTimeout),还有面向继承、安全发布等相关方法。本文中,我们将详细分析各个新增方法,同时说明其安全发布的重要性,最后提出相关的实践原则。
IT规划师24 天前
多线程·并发编程·线程同步
并发编程 - 线程同步(二)经过前面对线程同步初步了解,相信大家对线程同步已经有了整体概念,今天我们就来一起看看线程同步的具体方案。
桦说编程1 个月前
java·性能优化·函数式编程·并发编程
【异步编程实战】如何实现超时功能(以CompletableFuture为例)由于网络波动或者连接节点下线等种种问题,对于大多数网络异步任务的执行通常会进行超时限制,在异步编程中是一个常见的问题。本文主要讨论实现超时功能的基本思路以及CompletableFuture(之后简称CF)是如何通过代码实现超时功能的。
IT规划师1 个月前
多线程·并发编程·线程同步
并发编程 - 线程同步(一)经过前面对线程的尝试使用,我们对线程的了解又进一步加深了。今天我们继续来深入学习线程的新知识 —— 线程同步。
捕鲸叉1 个月前
c++·并发编程
C++并发编程之线程中断异常的捕捉与信息显示在多线程编程中,线程任务在中止时捕捉异常并显示任务被中断的信息和现场(即线程的上下文),可以帮助开发人员更好地调试和分析问题。以下是一个设计和实现这种机制的示例,涵盖异常捕捉、中断信息的显示以及现场的保存与展示。
捕鲸叉1 个月前
开发语言·c++·并发编程
C++并发编程之提高C++多线程应用可测试性的思想和方法提高C++多线程应用的可测试性是一个重要的课题,因为多线程应用程序通常比单线程应用程序更复杂,更容易出现难以复现的并发问题。为了确保多线程应用的可靠性和正确性,可以采用以下思想和方法来提高其可测试性。
IT规划师1 个月前
多线程·并发编程
并发编程 - 线程浅试前面已经对线程有了初步认识,下面我们来尝试使用线程。在C#中创建线程主要是通过Thread构造函数实现,下面讲解3种常见的创建方式。
捕鲸叉1 个月前
c++·并发编程
C++并发编程之多线程环境下使用无锁数据结构的重要准则在多线程环境中使用无锁数据结构(Lock-Free Data Structures)能够显著提高程序的并发性能,因为它们避免了传统锁机制带来的竞争和阻塞问题。然而,无锁编程本身也带来了许多挑战,如内存管理、数据一致性和正确性等问题。以下是多线程环境下使用无锁数据结构的重要准则:
捕鲸叉1 个月前
c++·算法·并发编程
C++并发编程之异常安全性增强在并发编程中,异常安全是一个非常重要的方面,因为并发环境下的错误处理比单线程环境更加复杂。当多个线程同时执行时,异常不仅可能影响当前线程,还可能影响其他线程和整个程序的稳定性。以下是一些增强并发程序异常安全性的方法,并附有示例代码。
IT规划师1 个月前
多线程·并发编程
并发编程 - 初识线程要深刻理解什么是线程,就需要了解计算机的发展史,需要了解多任务概念,需要了解进程概念,然后才是线程概念。因为我们主要还是讲解线程,因此这里就不进行展开说其他概念了,有兴趣的可以自行了解下。