锁( locking ) 业务逻辑的实现过程中,往往需要保证数据访问的排他性。如在金融系统的日终结算 处理中,我们希望针对某个 cut-off 时间点的数据进行处理,而不希望在结算进行过程中 (可能是几秒...
分类:
其他好文 时间:
2014-07-18 12:03:42
阅读次数:
238
一、单例模式的C#实现:(1)使用double-checked locking的方式:public sealed class Singleton{ static Singleton instance = null; static readonly object padlock = new...
分类:
其他好文 时间:
2014-07-13 17:53:37
阅读次数:
263
乐观锁与悲观锁文章转自网上好像是玉米田的,忘记了锁(locking)业务逻辑的实现过程中,往往需要保证数据访问的排他性。如在金融系统的日终结算处理中,我们希望针对某个cut-off时间点的数据进行处理,而不希望在结算进行过程中(可能是几秒种,也可能是几个小时),数据再发生变化。此时,我们就需要通过一...
分类:
系统相关 时间:
2014-06-24 09:42:30
阅读次数:
343
Singleton模式可以是很简单的,它的全部只需要一个类就可以完成(看看这章可怜的UML图)。但是如果在“对象创建的次数以及何时被创建”这两点上较真起来,Singleton模式可以相当的复杂,比头五种模式加起来还复杂,譬如涉及到DCL双锁检测(double
checked locking)的讨论、...
分类:
移动开发 时间:
2014-06-02 21:45:41
阅读次数:
483
http://baptiste-wicht.com/posts/2012/04/c11-concurrency-tutorial-advanced-locking-and-condition-variables.htmlstruct
BoundedBuffer { int* buffer; ...
分类:
编程语言 时间:
2014-05-27 16:04:22
阅读次数:
303
每个cpu都有队列来处理接收到的帧,都有其数据结构来处理入口和出口流量,因此,不同cpu之间没有必要使用上锁机制,。此队列数据结构为softnet_data(定义在include/linux/netdevice.h中):
/*
* Incoming packets are placed on per-cpu queues so that
* no locking is needed....
分类:
系统相关 时间:
2014-05-23 07:29:17
阅读次数:
514
锁(locking)业务逻辑的实现过程中,往往需要保证数据访问的排他性。如在金融系统的日终结算处理中,我们希望针对某个cut-off时间点的数据进行处理,而不希望在结算进行过程中(可能是几秒种,也可能是几个小时),数据再发生变化。此时,我们就需要通过一些机制来保证这些数据在某个操作过程中不会被外界修...
分类:
其他好文 时间:
2014-05-22 06:00:41
阅读次数:
362
线程、内存、锁定和阻塞(Threads, Memory, Locking, and Blocking)
如果你真的想进行并行编程的话,花点时间理解线程和内存的概念是完全值得的。在这一节,我们将学习如何显式地创建线程,并控制对共享资源,比如内存的访问。我的忠告是,应该避免你这样显式创建和管理线程,然而,在使用其他的并行编程方法时,理解底层的线程概念是需要的。
程序运行时,操作系统会创建一个...
分类:
编程语言 时间:
2014-05-12 23:41:53
阅读次数:
639