随笔分类 - Concurrency
摘要:参考资料: http://blog.csdn.net/baodi_z/article/details/1857820 http://blog.csdn.net/cbnotes/article/details/38845069 https://msdn.microsoft.com/en-us/libr
阅读全文
摘要:最近任务需要在MFC下做多线程生产者消费者模式的东西,我找了半天貌似MFC没有类似Java里面BlockingQueue那样的工具(也许是我手残没找到)。 网上好像也有很多大佬去实现这个。但是我没仔细去找,看了看一些资料就想着造个轮子玩玩。 实现如下: 主要是利用CCriticalSection保护
阅读全文
摘要:死锁现象:在训练的时候,点击“终止”按钮时不时会发生死锁。 检测工具:LockCop、TRACE宏、::GetCurrentThreadID函数。 检测手段: 总结起来就是—— 第一步:用LockCop找哪几个线程死锁起来了,因为什么对象死锁的(比如说那些用于线程同步的工具类或者某些要Block的函
阅读全文
摘要:备注:我最近的项目就遇到了这个问题。只用了一个CCriticalSection对象,并且全部都有释放。但还是死活没查出死锁的原因。最后才发现原来是suspend导致的。最终用CEvent替代了suspend和resume才解决。 转自:http://blog.csdn.net/magictong/a
阅读全文
摘要:原文:http://dev.gameres.com/Program/Control/IOCP.htm 另附上:http://stackoverflow.com/questions/5283032/i-o-completion-ports-advantages-and-disadvantages 欢迎
阅读全文
摘要:首先看如下代码:1 #include 2 3 int main()4 {5 ZThread::ThreadLocal value;6 value.set(0);7 value.set(value.get() + 1);8 return 0;9 }在Windows下编译...
阅读全文
摘要:http://www.cnblogs.com/yc_sunniwell/archive/2010/07/14/1777432.html
阅读全文
摘要:在阅读JCIP的时候想手工测试一下,结果发现总是没有出现书中描述的并发问题后来我琢磨,以前记得书上说过,在debugging的环境下,JVM是低并发的,一定要在server的环境下测试,让JVM在高并发的情况下使用,才容易测试出并发BUG,最简便的方法就是给JVM添加上-server的运行参数代码如下,JCIP Listing3.15 1 class Holder { 2 private int n; 3 private static Random random = new Random(); 4 public Holder(int n) { 5 thi...
阅读全文
摘要:http://docs.oracle.com/javase/tutorial/essential/concurrency/starvelive.htmlLivelockA thread often acts in response to the action of another thread. If the other thread's action is also a response to the action of another thread, thenlivelockmay result. As with deadlock, livelocked threads are u
阅读全文