控制并发流程

Posted cnxieyang

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了控制并发流程相关的知识,希望对你有一定的参考价值。

本文基于如何去控制并发流程方面做详细介绍,主要介绍相关观念和控制手段。后续详细介绍各种控制手段的用法、实例及代码分析。

概述

  有了控制并发流程,可以更好的去协调各个线程之间的工作,涉及各个线程之间的合作策略。

Semaphore:信号量

      我们可以理解为:访问系统时,只有有限的凭证,只有拿到凭证之后才能进行相关操作。

CyclicBarrier

      我们可以理解了需要线程去等待,只有达到足够多的线程数时,才可以进行下一步的操作

Phaser

        我们可以理解为:和CyclicBarrier类似,区别在于计数是可变的

CountDownLatch

      我们可以理解为:和CyclicBarrier类似,只有线程数量递减到0时,才能触发相关操作

Exchanger

      我们可以理解为:让两个线程在合适的时机去交换对象

Condition

      我们可以理解为:可以控制线程的等待和唤醒。

后续会对各个用法做详细分析。

以上是关于控制并发流程的主要内容,如果未能解决你的问题,请参考以下文章

Day299.控制并发流程 -Juc

多线程并发流程控制之dispatch_group 有关函数

读《Go并发编程实战》第4章 流程控制方式

读《Go并发编程实战》第4章 流程控制方式

并发工具类控制并发线程的数量 Semphore

MVCC(多版本并发控制)详解