摘要: 1、CyclicBarrier的介绍 CyclicBarrier 被称为栅栏,允许一组线程相互等待,直到这一组线程都准备完毕,放行,程序方可继续执行。 就好像做摩天轮,游乐园规定,至少有9个游客乘坐摩天轮,管理员才可以启动摩天轮,游客数和管理员少一个条件,摩天轮都不会启动。 2、CyclicBarr 阅读全文
posted @ 2023-05-06 09:12 无虑的小猪 阅读(67) 评论(0) 推荐(0) 编辑
摘要: ConditionObject是AbstractQueuedSynchronizer(AQS)实现的内部类,类图如下: 1、Condition接口 ConditionObject实现了Condition接口。先来看看Codition接口。 Codition中主要定义了挂起线程和唤醒线程的接口方法。C 阅读全文
posted @ 2023-05-06 09:02 无虑的小猪 阅读(59) 评论(0) 推荐(0) 编辑
摘要: 一、协程的创建 Go 语言支持并发,只需要通过 go 关键字来开启 goroutine(协程) 即可。 goroutine(协程) 是轻量级线程,goroutine(协程) 的调度是由 Golang 运行时进行管理的。 goroutine 语法格式(创建协程): go 函数名( 参数列表 ) 示例代 阅读全文
posted @ 2023-05-06 08:41 无虑的小猪 阅读(17) 评论(0) 推荐(0) 编辑
摘要: 1、通道 通道channel是Go提供的一种用于各个协程(goroutine)之间的数据共享,保证数据同步交换的机制。协程是轻量级线程,类似于Java中的线程。 2、通道的类型 2.1、无缓冲通道 用于同步通信,可保证在发送和接收数据时完成两个goroutine(协程)的数据交换。 2.2、缓冲通道 阅读全文
posted @ 2023-05-06 08:24 无虑的小猪 阅读(33) 评论(0) 推荐(0) 编辑