常用的分布式锁 一、.基于数据库实现分布式锁 1. 悲观锁 利用select … where … for update 排他锁 注意: 其他附加功能与实现一基本一致,这里需要注意的是“where name=lock ”,name字段必须要走索引,否则会锁表。有些情况下,比如表不大,mysql优化器会 ...
分类:
其他好文 时间:
2020-02-24 09:22:34
阅读次数:
116
进程、线程和协程区别 1. 进程 进程是系统资源分配的最小单位, 系统由一个个进程(程序)组成一般情况下,包括文本区域(text region)、数据区域(data region)和堆栈(stack region)。 文本区域存储处理器执行的代码 数据区域存储变量和进程执行期间使用的动态分配的内存; ...
分类:
编程语言 时间:
2020-02-24 09:19:58
阅读次数:
61
深入函数第一篇 1. 函数是 第一类值 ,具有特定的 词法域 第一类值 1. 第一类值的意思是函数与 lua 中的其他类型如数字,字符串具有相同的权力 2. 函数可以存储到全局变量或局部变量变量,还可以存储到 table 中 3. 可作为实参传递给其他函数,也可以作为其他函数的返回值 词法域 1. ...
分类:
其他好文 时间:
2020-02-23 22:16:33
阅读次数:
66
题目: "Exercise: Web Crawler" 直接参考了 的实现,不过该代码使用了chan bool来存放子协程是否执行完成,我的代码是使用WaitGroup来让主协程等待子协程执行完成。 完整代码请参考 请注意对于WaitGroup的处理参考了 "Golang中WaitGroup使用的一 ...
分类:
Web程序 时间:
2020-02-23 19:58:34
阅读次数:
94
1 local function keepTwoDecimalPlaces(decimal) 2 decimal = decimal * 100 3 if decimal % 1 >= 0.5 then 4 decimal=math.ceil(decimal) 5 else 6 decimal=ma ...
分类:
其他好文 时间:
2020-02-23 18:05:21
阅读次数:
88
function numberToString(szNum) 阿拉伯数字转中文大写 local szChMoney = "" local iLen = 0 local iNum = 0 local iAddZero = 0 local hzUnit = {"", "十", "百", "千", "万" ...
分类:
其他好文 时间:
2020-02-23 17:55:39
阅读次数:
150
一、 上下文切换问题:时间片一般是几十毫秒,任务从保存到再加载的过程就是一次上下文切换,多线程竞争锁时会引起上下文切换,时间片到了会引起上下文切换 减少上下文切换:1、无锁并发线程 2、CAS算法 3、使用最少线程 4、协程 死锁问题:1、尽量避免一个线程同时获得多个锁 2、尽量避免一个线程在锁内同 ...
分类:
其他好文 时间:
2020-02-22 20:01:20
阅读次数:
60
torch.ge torch.ge(input, other, out=None) → Tensor 逐元素比较input和other,即是否 input>=otherinput>=other。 如果两个张量有相同的形状和元素值,则返回True ,否则 False。 第二个参数可以为一个数或与第一个 ...
分类:
其他好文 时间:
2020-02-22 19:55:10
阅读次数:
180
泄露情况分类 死循环 channel 导致的泄露 传统同步机制导致的泄露 死循环 go协程单纯地陷入死循环中。 chanel 引起的泄露 发送不接收 向没有接收者的channel发送信息。我们知道,发送者一般都会配有相应的接收者。理想情况下,我们希望接收者总能接收完所有发送的数据,这样就不会有任何问 ...
分类:
其他好文 时间:
2020-02-22 14:05:54
阅读次数:
76
近期工作中接触RPA(Robotic Process Automation,即机器人流程自动化)方向的项目,在做技术预研中,接触了 UiBot 和 Automagica 这两款流程自动化的组件。其中 UiBot 是一款成熟的软件产品,安装其平台后,可以直接按用户的业务场景,通过绘制流程图+配置动作和 ...
分类:
其他好文 时间:
2020-02-22 09:58:32
阅读次数:
119