golang
AJuTongXue
这个作者很懒,什么都没留下…
展开
-
Java线程与goroutine对比
Java Thead为线程,线程是操作系统调度的最小单位。1、线程间切换(不出让情况下):抢占式调度,随机执行。2、实现:继承Thread类或者实现Runnable接口,Callable类似,或者通过线程池。3、线程切换代价大4、一般通过共享内存通信Goroutine 为go并发执行的调度单位。1、Goroutine间切换:业务要求切换(runtime.Gosched())...原创 2018-09-02 03:44:42 · 913 阅读 · 0 评论 -
golang 手撕红黑树
GOLANG 手撕红黑树前言 GOLANG表中包中自带的数据结构比较少,目前找到的红黑树都是开源实现,索性自己手撕一颗来练练手。以下主要讲解代码实现。github地址:https://github.com/Julius-Li/daily/tree/master/rbtree红黑树简单介绍 红黑树是一种不严格平衡二叉树,通过**保持其性质**就能保持整个树的平衡。红黑...原创 2019-03-21 22:58:52 · 1279 阅读 · 0 评论 -
golang groupcache重复抑制(singeflight)机制,防止缓存击穿
缓存击穿,是指一个key非常热点,在不停的扛着大并发,大并发集中对这一个点进行访问,当这个key在失效的瞬间,持续的大并发就穿破缓存,直接请求数据库,就像在一个屏障上凿开了一个洞。 groupcache是golang实现的分布式缓存,和memcache同一作者出品,groupcache使用重复抑制机制(singeflight)用了很少了代码提供了缓存击穿的解决方式。代码githu...原创 2019-03-24 20:36:56 · 1098 阅读 · 0 评论 -
golang中map的并发 syncmap详解
golang中map当前版本默认直接并发写会报concurrent map writes 错误在golang中要实现并发读写的话有三种目前通用的方式: 1. 使用读写锁sync.RWMutex,在读的时候使用读锁,使用的时候如下代码,效率较低:var counter = struct{ sync.RWMutex //读写锁 m map[string]in...原创 2019-03-26 23:15:29 · 2208 阅读 · 0 评论 -
golang 微信小程序access_token获取刷新和登陆(openid和其他信息的获取)
微信小程序的绝大多数的后台接口都需使用 access_token,本片文章主要说明一下golang的基础功能实现,不做业务场景分析。获取access_token 首先贴上获取token的官方文档。https://developers.weixin.qq.com/miniprogram/dev/api-backend/getAccessToken.html 官方给出...原创 2019-03-22 23:31:56 · 6486 阅读 · 3 评论 -
golang 微信小程序 内容检测 图片检测 内容安全
微信小程序对于一些用户上传文本内容和图片内容需要进行内容检测,该文贴出golang后台调用微信小程序的代码和一点注释原创 2019-08-25 23:00:02 · 986 阅读 · 0 评论