-
从IO模型到协程(七) asyncio协程+redis队列高并发批量下载文件
发布时间:2021-06-10 19:14公司内部的一个图片网站有一个支持批量下载的小需求,由于不同的图片存放在不同的oss远程服务器上,前端直接请求图片链接可能引发跨域问题,因此需要前端先请求后端接口,由后端下载资源后再输出给前端。为了图省
-
Go并发编程系列(八)互斥锁, 读写锁, 条件变量, Waitgroup, Once, 临时对象池Pool和原子操作
发布时间:2021-02-06 09:34一、互斥锁和读写锁关于锁相信大家都很熟悉了,因此这里不再对锁进行过多的描述,只是简单的带过一下。如果读者们想了解互斥锁和读写锁的基本使用和例子,可以看看这篇文章:《Go入门系列(十七) go并发之基于
-
Go并发编程系列(七)channel通道及其原理
发布时间:2021-02-05 13:54在Go语言中,channel通道用于多个goroutine间通信。 有关goroutine和channel的基本概念和使用在本人的《Go入门系列 go并
-
Go并发编程系列(六)go并发机制之goroutine调度和goroutine阻塞
发布时间:2021-02-05 12:07Go调度程序(Go调度器) Go调度器本质上也是一个结构体。Go调度器并不是运行在某个专用内核线程中的程序,调度程序会运行在若干已存在的M(或者说内核线程)之中。换句话说,运行时系统中几乎所有的
-
Go并发编程系列(五) go并发机制之MPG模型
发布时间:2021-02-05 11:17Go并发机制 在操作系统提供的内核线程之上,Go搭建了一个特有的两级线程模型。Go的独立控制流不是内核级线程而是goroutine协程。Go不推荐用共享内存的方式传递数据,而推荐使用channe
-
Go并发编程系列(四) 多线程基本概念与线程模型
发布时间:2021-02-05 09:32多线程 一个进程至少会包含一个线程,因为其中至少会有一个控制流持续运行。因而,一个进程的第一个线程会随着这个进程的启动而创建,这个线程称为该进程的主线程。 当然,一个进程也可以包含多个线程
-
Go并发编程系列(三) 多进程编程与进程同步之Socket编程
发布时间:2021-02-05 08:59socket socket,常译为套接字,也是一种IPC方法。但是与其他IPC方法不同的是,它可以通过网络连接让多个进程建立通信并相互传递数据,这使得通信双方是否在同一台计算机上变得无关紧要。
-
Go并发编程系列(二) 多进程编程与进程同步之Signal信号量
发布时间:2021-02-04 19:46信号 signal操作系统信号(signal,以下简称信号)是IPC中唯一一种异步的通信方法,它的本质是用软件来模拟硬件的中断机制。信号用来通知某个进程有某个事件发生了。例如,在命令行终端按下某些快捷
-
Go并发编程系列(一) 多进程编程与进程同步之Pipe管道
发布时间:2021-02-04 18:43关于多进程和多线程的基本概念以及基本操作本人在以下系列文章已经介绍。 ”浅谈操作系统原理” http://zbpblog.com/blog-175.html“pyth
-
Go入门系列(十七) go并发之基于共享变量的并发
发布时间:2021-01-17 00:29上一章介绍了基于channel的并发,这一章介绍基于共享变量的并发。 简介基于共享变量的并发 我们知道如果多个线程或者协程并发的对一个变量进行修改,会出现数据不一致的问