- 博客(5)
- 资源 (1)
- 收藏
- 关注
原创 并发线程中的死锁
多线程中不可避免的要对共享数据共享类等进行操作,但为了让同一时间只有一个线程访问该代码块,引入了锁的概念。C# 中锁的原型是这样的lock (x){ DoSomething();}首先 为什么上面这段话能够锁定代码?最关键的就是这个X对象。事实上X 是任意一种引用类型。它在这起的作用就是任何线程执行到lock(x)的时候,X需要独享才能运行下面的代码,若假定现在有3个线程A,B,C都执行
2015-11-30 15:07:05 1208 6
原创 旧瓶装新酒的单例模式
单例模式大家都不陌生。即在它的核心结构中只包含一个被称为单例的特殊类。通过单例模式可以保证系统中一个类只有一个实例而且该实例易于外界访问。 在应用的时候 ,我们可以把它比喻成一个小桥。 A同学为了游泳,建立了一个泳池,这个泳池可以其他人也用。这样B同学在游泳就不用再自己建一个泳池了。那么我们来说一下如何保证单例模式的唯一性。①平常的类我们都是通过调用其类的构造方法来创建。如classA tem
2015-11-30 00:01:58 802 7
原创 性能优化之读写分离二
上文我们已经说了一些关于读写分离的概念。这篇博客,就大致的写了一个简单的demo 来表现出这种设计思想。写数据 新建一个类为DataWriter,该类主要用于通过WCF从服务端获取数据。 protected Dictionary<string, double> originalDataCache = new Dictionary<string, double>();//存放缓存数据
2015-11-29 23:01:24 1149 6
原创 性能优化之读写分离一
如题。解释一下我这里所说的读写分离。现在我有一个功能,需要每秒定时从数据库中取数并显示到前台。 一般的逻辑是不是这样的。我先去从数据源取出我要的数据,然后再将这些值显示或赋值到前台。自然可见,每次的时间就是①+②的时间。 然而, 对于大数据或实时性要求很高的系统来说,这样是很有风险和笨拙甚至是达不到要求的。这时候引入了读写分离的概念。我们看下面这张图。也就是说,我定时从数据源去拿数据放到缓存中,
2015-11-29 22:04:07 1066 9
原创 再谈对设计模式的理解
再谈对设计模式的理解近期在公司,相对之前的工作环境,学习新的技术的时间少了很多。但是对所谓的旧知识却有了更深一步的理解。最近每每看 无论是大话还是headfirst 里面经典的改造方式都会心生惊喜。设计模式的原则和方法书中都 提到了很多。结合自己的感触谈几点。原则单一职责一个庞大的系统来说,单一职责更方便开发和维护。对于类来说,一个类只做一件事。 对于方法来说,尽可能也单口入,单口出,只做一件事。
2015-11-24 22:11:39 1137 11
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人