51
Dev开发社区
首页
文章
问答
工具
搜索
登录
注册
#syn
由浅入深聊聊Golang的sync.Map
今天在技术群中有小伙伴讨论并发安全的东西,其实之前就有写过map相关文章:由浅入深聊聊Golang的map。但是没有详细说明sync.Map是怎么一回事。回想了一下,竟然脑中只剩下“两个map、一个只读一个读写,xxxxx”等,关键词。有印象能扯,但是有点乱,还是写一遍简单记录一下吧。1.为什么...
代码星球
·
2020-10-02
由浅入深
聊聊
Golang
sync.Map
Golang sync.NewCond条件锁的用法
packagemainimport("fmt""sync""time")funcmain(){c:=sync.NewCond(&sync.Mutex{})queue:=make([]interface{},0,10)removeFromQueue:=func(delaytime.Duration){time.S...
代码星球
·
2020-10-02
Golang
sync.NewCond
条件
用法
go语言标准库sync/atomic中的原子操作
原子操作吧其他同步技术更底层。他们没有锁,基本是在硬件层面实现的。事实上,他们经常被用来实现其他同步技术。请注意,下面的许多例子并发并发编程。他们仅用于来展示如何使用标准库中的sync/atomic包中的原子函数。标准库中的sync/atomic对整数类型T(包含int32,int64,uint32,uint64,ui...
代码星球
·
2020-10-02
go
语言
标准
sync
atomic
golang 中 sync.Mutex 和 sync.RWMutex
golang中的sync包实现了两种锁:Mutex:互斥锁RWMutex:读写锁,RWMutex基于Mutex实现Mutex为互斥锁,Lock()加锁,Unlock()解锁在一个goroutine获得Mutex后,其他goroutine只能等到这个goroutine释放该Mutex使用Lock()加锁后,不能再继续对其...
代码星球
·
2020-10-02
golang
sync.Mutex
sync.RWMutex
使用 Load Balancer,Corosync,Pacemaker 搭建 Linux 高可用集群
由于网络架构的原因,在一般虚拟机或物理环境中常见的用VIP来实现双机高可用方案,无法照搬到Azure平台。但利用Azure平台提供的负载均衡或者内部负载均衡功能,可以达到类似的效果。本文介绍如何基于AzureLoadBalancer(LB),结合Linux开源的产品DRBD,Pacemaker和Corosync实现Ma...
代码星球
·
2020-10-01
使用
Load
Balancer
Corosync
Pacemaker
asyncio并发编程
asyncio是python3.4以后引进的用于解决异步io编程的一整套解决方案tornado、gevent、twisted(scrapy、djangochannels)都使用了asyncio讲解asyncio的简单使用:importasyncioimporttimeasyncdefget_html(url):prin...
代码星球
·
2020-09-25
asyncio
并发
编程
Python使用asyncio+aiohttp异步爬取猫眼电影专业版
asyncio是从pytohn3.4开始添加到标准库中的一个强大的异步并发库,可以很好地解决python中高并发的问题,入门学习可以参考官方文档并发访问能极大的提高爬虫的性能,但是requests访问网页是阻塞的,无法并发,所以我们需要一个更牛逼的库aiohttp,它的用法与requests相似,可以看成是异步版的re...
代码星球
·
2020-09-25
Python
使用
asyncio+aiohttp
异步
爬取
async/await 实现协程
在了解异步协程之前,我们首先得了解一些基础概念,如阻塞和非阻塞、同步和异步、多进程和协程。2.1阻塞阻塞状态指程序未得到所需计算资源时被挂起的状态。程序在等待某个操作完成期间,自身无法继续干别的事情,则称该程序在该操作上是阻塞的。常见的阻塞形式有:网络I/O阻塞、磁盘I/O阻塞、用户输入阻塞等。阻塞是无处不在的,包括C...
代码星球
·
2020-09-25
async
await
实现
协程
python异步编程之asyncio(百万并发)
前言:python由于GIL(全局锁)的存在,不能发挥多核的优势,其性能一直饱受诟病。然而在IO密集型的网络编程里,异步处理比同步处理能提升成百上千倍的效率,弥补了python性能方面的短板,如最新的微服务框架japronto,resquestspersecond可达百万级。 python还有一个优势是库(第...
代码星球
·
2020-09-24
python
异步
编程
asyncio
百万
asyncio
asyncio是Python3.4版本引入的标准库,直接内置了对异步IO的支持。asyncio的编程模型就是一个消息循环。我们从asyncio模块中直接获取一个EventLoop的引用,然后把需要执行的协程扔到EventLoop中执行,就实现了异步IO。用asyncio实现Helloworld代码如下:importas...
代码星球
·
2020-09-24
asyncio
golang中sync.RWMutex和sync.Mutex区别
golang中sync包实现了两种锁Mutex(互斥锁)和RWMutex(读写锁),其中RWMutex是基于Mutex实现的,只读锁的实现使用类似引用计数器的功能.typeMutex func(m*Mutex)Lock() func(m*Mutex)Unlock()typeR...
代码星球
·
2020-09-24
golang
sync.RWMutex
sync.Mutex
区别
Golang sync.WaitGroup的用法
经常会看到以下了代码:12345678910111213packagemainimport("fmt""time")funcmain(){fori:=0;i<100;i++{gofmt.Println(i)}time.Sleep(time.Second)}主线程为了等待goroutine都运行完毕,不得不在程序的...
代码星球
·
2020-09-24
Golang
sync.WaitGroup
用法
SpringBoot异步任务EnableAsync
什么是一部任务和使用场景:适用于处理log、发送邮件、短信...等下单接口->查库存1000余额校验1500风控用户1000启动类里面使用@EnableAsync注解开启功能,自动扫描定义异步任务类并使用@Component标记组件被容器扫描,异步方法加上@AsyncTestController.java测试&n...
代码星球
·
2020-09-24
SpringBoot
异步
任务
EnableAsync
dd命令的conv=fsync,oflag=sync/dsync
1.syncPadeveryinputblocktosizeof'ibs'withtrailingzerobytes.Whenusedwith'block'or'unblock',padwithspacesinsteadofzerobytes.2.fdatasyncSynchronizeoutputdatajustbe...
代码星球
·
2020-09-22
dd
命令
cOnv
fsync
oflag
Promise及Async/Await
我们都知道已经有了Promise的解决方案了,为什么还要ES7提出新的Async/Await标准呢?答案其实也显而易见:Promise虽然跳出了异步嵌套的怪圈,用链式表达更加清晰,但是我们也发现如果有大量的异步请求的时候,流程复杂的情况下,会发现充满了屏幕的then,看起来非常吃力,而ES7的Async/A...
代码星球
·
2020-09-12
Promise
Async
Await
首页
上一页
...
22
23
24
25
26
...
下一页
尾页
按字母分类:
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
Q
R
S
T
U
V
W
X
Y
Z
其他