2012年4月5日
摘要: win32 api提供了四种实现多线程同步的技术:临界区(critical section)、互斥变量(mutex)、信号量(semaphore)、事件(event)。作用领域: 1、临界区:通过对多线程的串行化来访问公共资源或一段代码,速度快,适合控制数据访问。 2、互斥量:为协调共同对一个共享资源的单独访问而设计的。 3、信号量:为控制一个具有有限数量用户资源而设计。 4、事件:用来通知线程有一些事件已发生,从而启动后继任务的开始。1、临界区(Critical Section) 保证在某一时刻只有一个线程能访问数据的简便办法。在任意时刻只允许一个线程对共享资源进行访问。如果有多个线... 阅读全文
posted @ 2012-04-05 18:56 笔记吧... 可能只有自己看得懂 阅读(397) 评论(0) 推荐(0)
摘要: 这个问题关键就是算出整个算术式中5因子的个数。View Code 1 #include <iostream> 2 using namespace std; 3 4 void main() 5 { 6 int count =0; 7 int N =1024; 8 int c = 5; 9 while(c < 1024)10 {11 count += N/c;12 c = c*5;13 }14 cout << count << endl;15 }分析一下: 是5的倍数的数有: 1024 / 5 = 204... 阅读全文
posted @ 2012-04-05 11:48 笔记吧... 可能只有自己看得懂 阅读(2226) 评论(1) 推荐(1)
摘要: 类似的反推问题。问题描述:1、妈妈有2000元,要分给她的2个孩子。由哥哥先提出分钱的方式,如果弟弟同意,那么就这么分。但如果弟弟不同意,妈妈会没收1000元,由弟弟提出剩下 1000元的分钱方式,这时如果哥哥同意了,就分掉这剩下的1000元。但如果哥哥也不同意,妈妈会把剩下的1000元也拿走,然后分别只给他们每人100元。问:如果你是哥哥,你会提出什么样的分钱方式,使你有可能得到最多的钱?(最小单位1元)2、有5个海盗,按照等级从5到1排列。最大的海盗有权提议他们如何分享100枚金币。但其他人要对此表决,如果多数(所有人中的多数)反对,那他就会被杀死。他应该提出怎样的方案,既让自己拿到尽可能 阅读全文
posted @ 2012-04-05 10:38 笔记吧... 可能只有自己看得懂 阅读(1439) 评论(3) 推荐(0)