最新评论

syuko 2008-09-17 08:23
感觉题目和内容不太相符。不过Keeping global data in static members of the Global class gives you strong typing以前倒没有试过。

也算学习了。
Angel Lucifer 2008-05-11 14:59
@Jeffrey Zhao
@fuadam
可以明确的是几乎无法完全避免使用锁机制。现在流行的做法是结合Lock-Free和锁机制来构造更加复杂的算法。

锁机制的概念其实很简单,无非就是加锁和解锁。但是在现实中,我们根本无法预测开发人员会在什么时候加锁,大多数开发人员对锁机制的理解还比较肤浅,即使是资深工程师也难免会犯错。这才是复杂的地方所在。

通用的死锁检测程序效率十分低下,而且不能保证能够检测所有的潜在危险。比方SQL SERVER就有这种程序。我们不应该把所有信任都交给它。死锁也很难在设计时预见,因为它纯粹是一种技术细节的实现。比如Java里面有个ConcurrentHashMap,撇去lock-free技术,里面有32个锁,我们如何在设计时预测,只能在实现时倍加小心。

再举个例子,Windows的事件机制(注意这里的事件不是.NET下的event,而是内核并发基元event)就被滥用了。有研究表明几乎所有的使用事件的程序都不同程度的存在隐患。而Boost库则干脆不提供event基元。
fuadam 2008-05-11 10:26
可以写通用的死锁监测程序,来避免死锁,而且在进行设计时应该能遇见死锁情况。Lock-Free只能处理简单的数据结构,如果是B-Tree或Hash这种复杂的我认为不可能不使用锁机制。
横刀天笑 2008-05-11 09:37
而且我觉得这个图貌似也有错误
横刀天笑 2008-05-11 09:36
这里是MethodTablePointer(方法表指针)还是类型对象指针?
根据楼主所说通过GetType获取MethodTablePointer ,我觉得称为 类型对象指针更合理些,CLR via C#那本书也是讲类型对象指针,因为这个类型对象里面不仅仅保存有该类型的所有方法还保存着静态字段等内容
ghost5018 2008-05-11 09:27
有讲解有实例,很好的文章,学到了很多东西,支持一下....
zzzzz 2008-05-11 08:34
MSDN中经常出现这句话:此类型的所有公共静态成员对多线程操作而言都是安全的。但不保证任何实例成员是线程安全。
大家可否帮我解释一下。谢谢。
Jeffrey Zhao 2008-05-10 23:33
@Angel Lucifer
所以线程安装的操作最好是封装在一个类的内部,这样就把lock的对象控制在内部,避免被外部滥用,可以有效避免死锁。
Angel Lucifer 2008-05-10 22:50
不错的文章。

不过需要阐清的是,只要使用锁,就很难保证能够完全避免死锁。使用lock(somePrivateStaticObject)的方式,仅仅是因为Microsoft在设计同步索引时出了瑕疵,为了避免这个瑕疵,迫不得已才使用这种方式。这一点在《CLR via C#》第24章有着清晰的解释。

完全避免死锁的有效方式是使用lock-free技术。
Leon916 2008-03-10 17:53
直到一些了,谢谢阿
ITAres 2008-03-02 18:48
@Jeffrey Zhao
这是你以前写的。。。哈哈
Jeffrey Zhao 2008-03-02 18:43
@ITAres
为啥要介意阿?
ITAres 2008-03-01 20:41
@Jeffrey Zhao
哈哈。。。不介意吧
Jeffrey Zhao 2008-03-01 19:57
哇!
汉广 2008-02-29 09:21
看下我的简历吧。。。。
-------------------------
汉广同学正在找工作,你可以点击这里 ,浏览他的简历。简历仍在修改中,我会心怀感激的阅读你的任何评论:-)
ITAres 2008-02-29 09:15
@哦哦哦哦
你能力有多高?
哦哦哦哦 2008-02-29 09:11
注:只要你有能力,薪水绝对让你满意。。。

真的么?薪水最高可以给到多少?
cf 2008-02-28 23:32
@过江
fanrs@joy.cn
过江 2008-02-28 23:21
联系方式呢??
flyingchen 2008-02-28 18:49
不错。写的很有激情!很激动啊!
pop 2008-02-05 14:05
我比老赵走的早一些
ITAres 2008-02-04 19:10
@pop
哈哈,看来你是从激动出去的。。
ITAres 2008-02-04 19:10
@破曉之陽
我们放12天。。爽吧
破曉之陽 2008-02-04 16:30
還沒放假。這么好的公司。
pop 2008-02-04 10:39
激动是一家烂公司
zbh 2008-02-04 09:51
关键是updatetext,呵呵
ITAres 2008-02-03 14:21
@郝婧
有问题请留言,谢谢。
我会进一步的改进。。
郝婧 2008-02-03 14:10
呵呵 还没检验你的代码情况 不过学习一下 谢谢 博主的详细说明
ITAres 2008-02-03 12:11
@Jeffrey Zhao
老大,我是范荣生啊。。哈哈
Jeffrey Zhao 2008-02-03 12:10
你是谁亚?