并发
已收录文章:77篇
-
MySQL server 是多线程结构,包括后台线程和客户服务线程。多线程可以有效利用服务器资源,提高数据库的并发性能。在 MySQL 中,控制并发连接和线程的主要参数包括 max_connections、back_log、thread_380 收藏
-
在微服务的场景下,我们有很多任务的执行是没有明确的先后顺序的,比如一个接口同时要做到任务 A 和 任务 B,两个任务分别拿到一些数据,最后组装裁剪后通过接口下发。 此时,A 和 B 两367 收藏
-
golang中默认使用一个CPU,这时程序无法并发,只能是并发。因为始终只有一个CPU在运行。 package main import ( "fmt" "runtime" ) //并发和并行 var quit chan int = make(chan int) func loop() {356 收藏
-
先贴代码 package main import ( "fmt" ) // Send the sequence 2, 3, 4, ... to channel 'ch'. func generate(ch chan int) { for i := 2; ; i++ { ch <- i // Send 'i' to channel 'ch'. } } // Copy the values from channel 'in' to channel 'out',335 收藏
-
什么是并发安全? 在高并发场景下,进程、线程(协程)可能会发生资源竞争,导致数据脏读、脏写、死锁等问题,为了避免此类问题的发生,就有了并发安全。 这里举一个简单的例子: var d328 收藏
-
1 map使用 1.1 map定义 map是一种无序的集合,对应的key (索引)会对应一个value(值),所以这个结构也称为关联数组或字典。 map在其他语言中hash、hash table等 var mapname map[keytype]valuetype mapname311 收藏
-
经常看到有人会问如何等待主协程中创建的协程执行完毕之后再结束主协程,例如如下代码: package main import ( "fmt" ) func main() { go func() { fmt.Println("Goroutine 1") }() go func() {310 收藏
-
问题描述 在使用 gin-swagger 的过程中, 经常会发生因为缺少 json 等 tag 而导致的异常。 由于 gin-swagger 是并发执行的, 输出的日志本身是错位的。 这就导致无法定义是哪一个结构体缺少 tag 导致306 收藏
-
实现原理: 并发一个函数,等待1s后向timeout写入数据,在select中如果1s之内有数据向其他channel写入则会顺利执行,如果没有,这是timeout写入了数据,则我们知道超时了。 实现代码: package main304 收藏
-
之前有聊过 golang 的协程,我发觉似乎还很理论,特别是在并发安全上,所以特结合网上的一些例子,来试验下go routine中 的 channel, select, context 的妙用。 场景-微服务调用 我们用 gin(一个web框298 收藏
-
问题内容 关于select中的选择有一点不是特别明白,希望大家指点一下 package main import ( "time" "fmt" ) func main() { tick := time.Tick(1 * time.Millisecond) ch := make(chan int) go func() { for i :286 收藏
-
Hello,大家好,我是楼下小黑哥~如果给你一个包含一亿行数据的超大文件,让你在一周之内将数据转化导入生产数据库,你会如何操作?上面的问题其实是小黑哥前段时间接到一个真实的业务需286 收藏