- 博客(3)
- 资源 (1)
- 收藏
- 关注
原创 C# 中的 Volatile 关键字
Volatile 字面的意思时易变的,不稳定的。在C#中也差不多可以这样理解。编译器在优化代码时,可能会把经常用到的代码存在Cache里面,然后下一次调用就直接读取Cache而不是内存,这样就大大提高了效率。但是问题也随之而来了。在多线程程序中,如果把一个变量放入Cache后,又有其他线程改变了变量的值,那么本线程是无法知道这个变化的。它可能会直接读Cache里的数据。但是很不幸,Cach
2008-01-14 16:44:00 1379
原创 Multithreaded singleton - Design Patterns 学习笔记(5)
在多线程程序中,必须要考虑进程间共享和互斥的问题。 如果恰巧有两个线程访问Singleton类,并做修改的话,会导致出现bug。解决的方法就是给对象加锁:Java://: Configuration.java/** *//** * Singleton of Design Patterns * @author http://blog.csdn.net/nyzhl/ */public
2008-01-14 16:17:00 983
原创 C# 中的 ThreadPool
System.Threading.TheadPool 可以看做是若干个Thread组成的队列。一个进程仅有一个ThreadPool,所以ThreadPool类中都是静态方法。ThreadPool会在首次调用注册线程方法时被创建。(ThreadPool.QueueUserWorkItem、ThreadPool.RegisterWaitForSingleObject等)。一个ThreadPoo
2008-01-14 13:48:00 3715
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人