《Go 语言并发之道》读书笔记(四)
今天这篇笔记我们记录sync包下面的Cond,Once和Pool Cond cond就是条件,当条件不满足的时候等待Wait(),条件满足后,继续执行。 通过Signal()和Broadcast()来通知wait结束,继续执行。我们先来看一个Signal通知的例子 func main() { c : ...
《Go 语言并发之道》读书笔记(三)
今天这篇笔记我们来学习锁:互斥锁(Mutex) 和 读写锁(RWMutex) 互斥锁(Mutex) 首先我们来看一段代码,没有加锁的情况下,两个goroutine同时修改一个变量,会发生什么 func main() { var count int increment := func() { coun ...
singleflight 使用记录以及源码阅读
singleflight 使用方法以及源码阅读 1、简介 安装方式: go get -u golang.org/x/sync/singleflight singleflight 是Go官方扩展同步包的一个库。通过给每次函数调用分配一个key,相同key的函数并发调用时,在函数执行期间,相同函数的调用 ...
用Python把附近的足浴店都给采集了一遍,好兄弟:针不戳~
前言 嗨喽,大家好呀~这里是爱看美女的茜茜呐 又到了学Python时刻~ 我又来了!今天整个好玩的,你们肯定喜欢~ 咱们上班累了,不得好好犒劳一下自己,是吧 ! 于是我整了一手采集附近洗jio的店子,浴皇大帝们,冲鸭~ 话不多说,冲!兄弟们,都是正规的 正规的! 使用环境 python 3.8 解释 ...
Java组合异步编程(2)
您好,我是湘王,这是我的博客园,欢迎您来,欢迎您再来~ 多数码农在开发的时候,要么处理同步应用,要么处理异步。但是如果能学会使用CompletableFuture,就会具备一种神奇的能力:将同步变为异步(有点像用了月光宝盒后同时穿梭在好几个时空的感觉)。怎么做呢?来看看代码。 新增一个商店类Shop ...
大话CAS
1. 无锁的概念 在谈论无锁概念时,总会关联起乐观派与悲观派,对于乐观派而言,他们认为事情总会往好的方向发展,总是认为坏的情况发生的概率特别小,可以无所顾忌地做事,但对于悲观派而言,他们总会认为发展事态如果不及时控制,以后就无法挽回了,即使无法挽回的局面几乎不可能发生。这两种派系映射到并发编程中就如 ...
死锁的3种死法
1. 什么是死锁 在多线程环境中,多个进程可以竞争有限数量的资源。当一个进程申请资源时,如果这时没有可用资源,那么这个进程进入等待状态。有时,如果所申请的资源被其他等待进程占有,那么该等待进程有可能再也无法改变状态。这种情况称为死锁 在Java中使用多线程,就会有可能导致死锁问题。死锁会让程序一直卡 ...
设计模式---代理模式
简述 对客户端隐藏目标类,创建代理类拓展目标类,并且对于客户端隐藏功能拓展的细节,使得客户端可以像使用目标类一样使用代理类,面向代理(客户端只与代理类交互)。 话不多说,看一个优化案例。 优化案例 最初版v0 目前的功能是下载可以下载文件。 public class BiliBiliDownload ...
死磕面试系列,Java到底是值传递还是引用传递?
Java到底是值传递还是引用传递?
这虽然是一个老生常谈的问题,但是对于没有深入研究过这块,或者Java基础不牢的同学,还是很难回答得让人满意。
可能很多同学能够很轻松的背出JVM、分布式事务、高并发、秒杀系统、领域模型等高难度问题,但是对于Java基础问题不屑一顾。这种抓大放小的初衷是对的,要... ...
计算机等级考试二级C语言上机题集(第11~15套)
第11套 1.程序填空题 给定程序中,函数fun的功能是:将形参s所指字符串中的所有字母字符顺序前移,其他字符顺序后移,处理后新字符串的首地址作为函数值返回。 例如,s所指字符串为:asd123fgh543df,处理后新字符串为:asdfghdf123543。 请在下划线处填入正确的内容并将下划线删 ...
关于多种验证码的应对方式
爬虫程序会遇到各色各样的验证码,整理一下解决方法。 1.使用均值哈希算法进行图像识别 原理是根据像素平均值对比,来得到一串01010001这样的字符串,通过比较相同位置上是否相同。 统计出来的数量作为相似度凭据。 适用于不规则,难以识别文字或字母时的图像对比,适用面不广,但思路可以借鉴。 代码如下: ...
SpringCloud (五) - 云服务器Centos7.6,安装JDK,Maven,Mysql,Redis
1、购买云服务器 购买地址:https://cloud.tencent.com/act/pro/2022double11_warmup 后面的环境都是基于此环境Centos7.6; 2、安装 SecureCRT 和 SecureFX 2.1 SecureCRT 教程 SecureCRT8.0 破解教 ...