一、什么是微服务 微服务架构是一种架构模式,它提倡将单一应用程序划分成一组小的服务,服务之间互相协调、互相配合,为用户提供最终价值。 系统中的各个微服务可被独立部署,各个微服...
一、概述 Semaphore(信号量) 是一个线程同步结构,用于在线程间传递信号,以避免出现信号丢失,或者像锁一样用于保护一个关键区域,可以控制同时访问的线程个数,并且通过a...
一、概述 CyclicBarrier,也是位于java.util.concurrent包下的一个并发同步工具类,光从字面上理解的意思是可循环使用(Cyclic)的屏障(Bar...
一、概述 CountDownLatch是一个同步工具类,它允许一个或多个线程等待其他线程执行完操作之后再继续执行。通常用于控制多个线程的执行顺序。 二、基本原理 我们可以把C...
一、关于线程本地存储 线程本地存储是一种自动化机制,可以为使用相同变量的每个不同的线程都创建不同的存储,通过根除对变量的共享来防止任务在共享资源时产生冲突。 因此,如果你有5...
概述 生产者-消费者模型是多线程编程中的一个经典模型,主要描述的是生产者和消费者在同一时间段内共用同一块存储空间(通常也称为缓冲区,类似于仓库的概念),工作时,生产者向缓冲区...
死锁概念 所谓的死锁指的是多个线程之间因为竞争同一系统资源从而造成的一种僵局(互相等待)现象。此时若无外力作用,这些线程都将无法继续往下执行。比如:线程A和线程B互相等待对方...
临界区 通常来说,临界区是一个用以访问共享资源的代码块,这个代码块在同一时刻只允许被一个线程执行 同步 当一个线程试图访问一个临界区资源时,它将使用一种同步机制来查看当前不是...
基于上一篇文章介绍了一些关于JAVA多线程基础方面的理论知识,这一篇开始实际动手操作一番看看具体效果。 1、通过集成java.lang.Thread线程类来创建一个线程 控制...
基础概念 进程:简单来说就是计算机内存中运行的应用程序,有自己独立的地址空间,并且不同进程的地址空间是相互隔离的,是资源分配的最小单位。 线程:是程序中的顺序控制流,表示程序...