并发
已收录文章:112篇
-
零、并发问题 假设,有一个线上作业系统,当阅卷时,会从数据库取出第一个未评阅的作业。评阅完成后,会把作业状态改为“已评阅”:这样没什么问题。 如果是两个人同时评阅呢?如果B获200 收藏
-
优雅的并发编程范式,完善的并发支持,出色的并发性能是 Go语言区别于其他语言的一大特色。使用 Go语言开发服务器程序时,就需要对它的并发机制有深入的了解。并发基础回到在 Windows 和 Li197 收藏
-
在编写 Socket 网络程序时,需要提前准备一个线程池为每一个 Socket 的收发包分配一个线程。开发人员需要在线程数量和 CPU 数量间建立一个对应关系,以保证每个任务能及时地被分配到 CPU 上进193 收藏
-
问题内容 这个程序很简单,作用也很明显,就是打印20个素数。 但是。。。怎么做到的。。。 要被逼疯了。。。 package main import ( . "fmt" ) func Generate(ch chan<- int) { for i := 2; ; i++ {192 收藏
-
Go 的 time.Ticker 适合固定节拍触发工作,但当一次任务比 tick 间隔更长时,调度、积压和取消边界很容易混在一起。本文用一个定时刷新任务说明 Stop 与 Reset 的正确位置,并给出带背压、可退出、可观测的写法。185 收藏
-
问题内容 服务端业务进程,是否一次只能处理一个http请求? 假设我用 golang 写了一个 web server,需要处理每秒1000次http请求。假设每个请求的处理时间是0.1秒,那么如何解决这个请求压力问题?179 收藏
-
1. 并发安全 package main import ( "fmt" "sync" ) var ( sum int wg sync.WaitGroup ) func test() { for i := 0; i < 5000000; i++ { sum += 1 } wg.Done() } func main() { // 并发和安全锁 wg.Add(178 收藏
-
由于最近沉迷小孩子的MySQL 是怎样运行的:从根儿上理解 MySQL,想造一点数据磨练一下自己的所学,所以准备创建两个一百万数据的表,一开始写一个简单的程序使用jdbc往里面插入数据,开始177 收藏
-
Go语言中的 time 包提供了计时器的封装。由于 Go语言中的通道和 goroutine 的设计,定时任务可以在 goroutine 中通过同步的方式完成,也可以通过在 goroutine 中异步回调完成。这里将分两种用法进行169 收藏
-
前言 并发编程一直是Golang区别与其他语言的很大优势,也是实际工作场景中经常遇到的。近日笔者在组内分享了我们常见的并发场景,及代码示例,以期望大家能在遇到相同场景下,能快速的161 收藏
-
Python 异步接口用 asyncio.wait_for 设置超时后,日志里却还能看到后台任务继续运行,通常不是 wait_for 失效,而是任务引用、shield 或 finally 清理边界没有处理好。本文用可复现代码拆开超时取消语义,并给出资源回收和验证方法。158 收藏
-
在 Go语言程序运行时(runtime)实现了一个小型的任务调度器。这套调度器的工作原理类似于操作系统调度线程,Go 程序调度器可以高效地将 CPU 资源分配给每一个任务。传统逻辑中,开发者需要156 收藏