Tag: 协程

24 total results found

Laravel Octane:基于 Swoole/RoadRunner 驱动的高性能 Laravel 解决方案

博客

今天,Taylor Otwell 让 Laracon Online 2021 的与会者第一次看到了 Laravel Octane —...

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

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

Go Web 编程 并发编程

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

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

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

Go Web 编程 并发编程

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

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

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

Go Web 编程 并发编程

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

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

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

Go Web 编程 并发编程

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

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

Gin 使用示例(十八):平滑重启或关闭服务器

Gin 使用教程 使用示例

可以使用 fvbock/endless 来替换默认的 ListenAndServe 方法,参考 https://github.com...

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

Gin 使用示例(十三):中间件中使用协程的注意事项

Gin 使用教程 使用示例

在中间件或处理器中开启新的协程时,不应该在其中使用原生的上下文对象,而应该使用它的只读副本: func main() { r...

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

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

Go 入门教程 并发编程

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

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

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

Go 入门教程 并发编程

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

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

sync 包(三):原子操作

Go 入门教程 并发编程

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

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

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

Go 入门教程 并发编程

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

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

利用多核 CPU 实现并行计算

Go 入门教程 并发编程

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

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

通道类型篇(一):基本语法和缓冲通道

Go 入门教程 并发编程

在上篇教程中,学院君给大家演示了如何通过通道(channel)传递消息实现 Go 协程间的通信, 接下来,我们将通过几篇教程的篇幅来...

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

Go 协程通信实现(下)—— 通过 channel 进行消息传递

Go 入门教程 并发编程

上篇教程学院君演示了如何通过共享内存实现协程通信,不过这种方式太过繁琐,且维护成本高,Go 语言推荐使用消息传递实现并发通信,这种消...

由 学院君 发布于5 years ago    浏览数: 14224    点赞数: 5

Go 协程通信实现(上)—— 共享内存

Go 入门教程 并发编程

在上篇教程中,我们已经演示了如何通过 goroutine 基于协程在 Go 语言中实现并发编程,从语法结构来说,Go 语言的协程是非...

由 学院君 发布于5 years ago    浏览数: 13485    点赞数: 10