0%

我读过很多鸡汤文,从《心灵鸡汤》《智慧背囊》《时文选粹》到后来各种公共号,订阅号。很多文章写得都很棒:文笔优美,情节细腻。有的发人深省,有的暖人心脾。鸡汤和其他作品一样,不应当被如此嗤之以鼻。

阅读全文 »

2018-11-22更新
这是我初学go的一篇笔记,在此之前并无并发相关的开发经验。
当时很好奇go的互斥锁如何生效。经过这个实验我了解到:对于这种可能造成竞态的代码,正常流程应该是 获取锁 -> 操作 -> 释放锁。需要主动获取锁,这样锁才能生效。
而在mysql中,如果某条记录被加锁(比如select for update),其他写操作不需要主动获取锁,就会自动被阻塞无法进行。因为mysql中update 获取锁的操作是自动的,对用户透明。所以我之前一直误以为一个锁应当能保护变量或内存或代码段,才有了这个笔记。

这个笔记想表达的是,锁的正确用法应当是获取锁 -> 操作 -> 释放锁,开发需遵守这个约定,否则锁不会生效。仅此而已。

谢谢简书评论区各位指正。修改后正文如下:

golang中的互斥锁并不能锁定任何内存或代码或变量。

阅读全文 »

给定两个非空链表来代表两个非负整数,位数按照逆序方式存储,它们的每个节点只存储单个数字。将这两数相加会返回一个新的链表。

阅读全文 »

已有的知识为我们提供经验,也为我们带来习惯性思维的束缚。

从SVN转向Git的总是不免习惯性在Git中找SVN的对标,因此特地做了一份总结。

阅读全文 »

给定一个有序数组,你需要原地删除其中的重复内容,使每个元素只出现一次,并返回新的长度。不要另外定义一个数组,您必须通过用 O(1) 额外内存原地修改输入的数组来做到这一点。

阅读全文 »

抓数据的网站限定1秒只能有10次请求,因此设计了一个令牌管理机制来控制请求数量。

设计思路如下:

  • 发请求前需要先获取令牌
  • 限定某时间段内的发放的令牌数量
  • 任务执行完成后不能归还令牌,只能使用定时器不断重置令牌
  • 如果当前goroutine数量过多时也不重置令牌
阅读全文 »