一个案例:

在我们的系统中,需要通过定时任务来触发终端的离线事件

每次终端有数据上报时,更新终端在线状态为在线:online = 1,last_uploaded_at为上报时间

而定时任务每分钟触发一次批量操作:

简单的数据模型为:

IDonlinelast_upl[……]

阅读全文

Linux 内核同步原语

每 CPU 变量

每 CPU 变量是一种内核用来避免竞争(而不是解决竞争)的手段,意思就是每个 CPU 访问各自的每 CPU变量而不要越界,这样就直接不需要同步了

原子操作

原子操作需要硬件支持,这类芯片级的原子操作对操作系统来说是不可或缺的,他们不[……]

阅读全文

一直对 Java 异常的实现机制搞得不是很懂,也一直没找到比较权威的解释,国内各大论坛一通搜索也没找到合理的解释以消除我的疑问。

貌似只有我抱着这个疑问,可能是国内大牛比较多,这个问题又如此简单,大家已经心照不宣了。

最后终于还是看了一通官方文档才真正搞明白,以下是一些摘要。

3.[……]

阅读全文

ISO的隔离级别的划分并不完美,比如典型的丢失更新问题就不在其考虑范围内(以下内容以MySQL InnoDB为例)

InnoDB默认是repeatable read级别,但是默认的select仍然会导致丢失更新(lost update)

如果需要避免这个问题,需要使用select …[……]

阅读全文