Tag: 并发编程

22 total results found

基于 Redis 消息队列实现 Laravel 文件存储的异步处理

高性能 Redis 实战 实战入门篇

引子 本来准备给 Redis 实战入门篇做个收尾了,不过想起来 Laravel 进阶组件部分还剩下文件存储、邮件和通知这几个功能没...

由 学院君 发布于3 years ago    浏览数: 3696    点赞数: 3

基于 Redis 实现分布式锁及其在 Laravel 底层的实现源码

高性能 Redis 实战 实战入门篇

分布式锁的概念 不同于 Java、Golang 这些语言,PHP 本身并不支持并发编程,因为对于 PHP 的主战场 Web 应用而...

由 学院君 发布于3 years ago    浏览数: 5662    点赞数: 2

基于 Go 协程实现图片马赛克应用(下):并发重构

Go Web 编程 并发编程

声明:本教程代码整理自《Go Web Programming》一书并发编程部分。 接下来,我们引入协程来提升图片马赛克应用的性...

由 学院君 发布于3 years ago    浏览数: 3055    点赞数: 2

基于 Go 协程实现图片马赛克应用(上):同步版本

Go Web 编程 并发编程

注:本教程代码整理自《Go Web Programming》一书并发编程部分。 介绍完 Go 并发编程基础和常见并发模式的实现...

由 学院君 发布于3 years ago    浏览数: 4231    点赞数: 0

常见的并发模式实现(三):通过无缓冲通道创建协程池

Go Web 编程 并发编程

上篇教程学院君给大家演示了如何通过缓冲通道实现共享资源池,今天,我们来看另一个并发模式的 Go 语言实现 —— 通过无缓冲通道实现协...

由 学院君 发布于3 years ago    浏览数: 3139    点赞数: 2

常见的并发模式实现(二):通过缓冲通道实现共享资源池

Go Web 编程 并发编程

今天这篇教程我们继续演示常见并发模式的 Go 语言实现 —— 通过缓冲通道(channel)实现共享资源池。 注:如果你不了解...

由 学院君 发布于3 years ago    浏览数: 3148    点赞数: 2

常见的并发模式实现(一):调度后台处理任务的作业程序

Go Web 编程 并发编程

关于 Go 语言并发编程基本概念和 Goroutine、Channel 以及锁机制的使用,学院君在 Go 入门教程并发编程章节已经详...

由 学院君 发布于3 years ago    浏览数: 5440    点赞数: 0

sync 包(五):临时对象池 sync.Pool

Go 入门教程 并发编程

前面我们已经陆续介绍了 sync 包提供的各种同步工具,比如互斥锁、条件变量、原子操作、多协程协作等,今天我们来看另外一种工具。 ...

由 学院君 发布于4 years ago    浏览数: 10203    点赞数: 1

通过 context 包提供的函数实现多协程之间的协作

Go 入门教程 并发编程

上篇教程学院君介绍了如何通过 sync.WaitGroup 类型优化通道对多协程协调的处理,但是现在有一个问题,就是我们在启动子协程...

由 学院君 发布于4 years ago    浏览数: 9929    点赞数: 0

sync 包(四):sync.WaitGroup 和 sync.Once

Go 入门教程 并发编程

在介绍通道的时候,如果启用了多个子协程,我们是这样实现主协程等待子协程执行完毕并退出的:声明一个和子协程数量一致的通道数组,然后为每...

由 学院君 发布于4 years ago    浏览数: 9651    点赞数: 4

sync 包(三):原子操作

Go 入门教程 并发编程

中断与原子操作 我们在前两篇教程中讨论了互斥锁、读写锁以及基于它们的条件变量。互斥锁是一个同步工具,它可以保证每一时刻进入临界区的...

由 学院君 发布于4 years ago    浏览数: 8641    点赞数: 1

sync 包(二):条件变量 sync.Cond

Go 入门教程 并发编程

sync 包还提供了一个条件变量类型 sync.Cond,它可以和互斥锁或读写锁(以下统称互斥锁)组合使用,用来协调想要访问共享资源...

由 学院君 发布于4 years ago    浏览数: 10389    点赞数: 2

利用多核 CPU 实现并行计算

Go 入门教程 并发编程

开始之前,我们先澄清两个概念,「多核」指的是有效利用 CPU 的多核提高程序执行效率,「并行」和「并发」一字之差,但其实是两个完全不...

由 学院君 发布于4 years ago    浏览数: 17623    点赞数: 4

通道类型篇(四):错误和异常处理

Go 入门教程 并发编程

在前面几篇通道教程中,我们陆续介绍了与通道相关的基本语法、单向通道以及 select 语句,有关通道的基本知识就介绍到这里,今天我们...

由 学院君 发布于4 years ago    浏览数: 8812    点赞数: 6

通道类型篇(三):通过 select 语句等待通道就绪

Go 入门教程 并发编程

Go 语言还支持通过 select 分支语句选择指定分支代码执行,select 语句和之前介绍的 switch 语句语法结构类似,不...

由 学院君 发布于4 years ago    浏览数: 10386    点赞数: 7