- 博客(9)
- 资源 (10)
- 收藏
- 关注
转载 一个有意思的概率问题
<br />你参加一个抽奖活动,桌上放着3个一摸一样的盒子,主持人告诉你其中有且只有一个盒子里有奖品,别的两个都是空的,你可以从中选择一个盒子打开。你随意选 了一个盒子,在你打开盒子之前,主持人打开了另外两个盒子中的一个,并展示给你看,里面是空的。主持人说此时你还有一次机会可以换成选择你没有选也没有被 打开的那个盒子,你要换吗?<br />第一次看到这个题目还真的是一个节目里,但好像不是娱乐节目,没记错的话应该是《鲁豫有约》里。而这次看到就是在csdn里,某人和他的朋友争论不休,然后他就发帖到论坛里了。哈哈
2010-09-25 23:49:00 1662
转载 VC实现线程池
<br />这两天在做关于网络蜘蛛的程序,希望可以通过线程池来提高程序的性能,网上搜索了一下,看到这方面的东西还不少,跟大家分享一下!~有许多应用程序创建的线程花费了大量时间在睡眠状态来等待事件的发生。还有一些线程进入睡眠状态后定期被唤醒以轮询工作方式来改变或者更新状态信息。线程池可以让你更有效地使用线程,它为你的应用程序提供一个由系统管理的工作者线程池。至少会有一个线程来监听放到线程池的所有等待操作,当等待操作完成后,线程池中将会有一个工作者线程来执行相应的回调函数。<br /> 你也可以把没有等待操作
2010-09-11 01:18:00 493
转载 Java 理论与实践: 线程池与工作队列
贴在我们多线程 Java 编程论坛上最常见的问题之一是“怎样创建线程池?”。几乎在每个服务器应用程序中都会出现线程池和工作队列问题。本文中,Brian Goetz 探讨了线程池的动机、一些基本实现和调优技术以及一些要避免的常见危险。<br />为什么要用线程池?<br />诸如 Web 服务器、数据库服务器、文件服务器或邮件服务器之类的许多服务器应用程序都面向处理来自某些远程来源的大量短小的任务。请求以某种方式到达服务器,这种方式可能是通过网络协议(例如 HTTP、FTP 或 POP)、通过 JMS 队列或
2010-09-11 01:15:00 444
原创 使用ATL中的CThreadPool线程池来安排你的任务
<br />自ATL7开始,它就提供了一个叫做CThreadPool 的类,这是一个模板类,基于完成端口开发的一个线程池。它的使用并不麻烦,现在已经是ATL8了,它里面的BUG也已经得到了修正。这个模板类有一个不好的地方就是它要求调用的请求函数参数是相同的,也就是说在它的生存期它只能安排一模一样的请求任务。在这里为了方便起见,统一称安排到线程池里执行的线程为请求函数。CThreadPool在安排多样任务这一点比不上QueueUserWorkItem,QueueUserWorkItem的原型是这样的:<br
2010-09-11 01:13:00 4369
原创 C++中单例模式对象的释放控制
<br /> 单例模式也称为单件模式、单子模式。使用单例模式,保证一个类仅有一个实例,并提供一个访问它的全局访问点,该实例被所有程序模块共享。有很多地方需要这样的功能模块,如系统的日志输出等。<br /> 单例模式有许多种实现方法,在C++中,甚至可以直接用一个全局变量做到这一点,但这样的代码显得很不优雅。《设计模式》一书中给出了一种很不错的实现,定义一个单例类,使用类的私有静态指针变量指向类的唯一实例,并用一个公有静态方法获取该实例。如下面的类定义:<br />以下是引用片段:<br />class C
2010-09-11 01:11:00 543
转载 C++语言设计可扩展线程池
<br />在各种业务解决方案的设计过程中,服务器处理任务的效率往往决定了方案的成败。多线程处理任务是提高服务器效率的主要手段,它提高了对服务器资源的利用,使得任务可以并发处理。但如果服务器处理的任务的特点是轻量级、频率高,那么线程的创建与销毁会非常频繁,而系统用于处理线程的创建与销毁的开销会占相当大的比重,反而降低了系统的效率。通过线程池技术,可以减少频繁的线程的创建与销毁对系统性能的影响。 <br /> 线程池是预先创建线程的一种技术。线程池在还没有任务到来之前,创建一定数量(N1)的线程,放
2010-09-11 01:06:00 511
转载 智能指针(auto_ptr 和 shared_ptr)
<br /> Stl 中 auto_ptr只是众多可能的智能指针之一,auto_ptr所做的事情,就是动态分配对象以及当对象不再需要时自动执行清理。<br /> 这里是一个简单的代码示例,如果没有auto_ptr,<br /> <br /> <br /> 1void ProcessAdoption(istream &data)<br /> 2{<br /> 3 <br /> 4 while (data) // 如果还有数据<b
2010-09-11 00:07:00 425
转载 标准auto_ptr智能指针机制
<br />很多人听说过标准auto_ptr智能指针机制,但并不是每个人都天天使用它。这真是个遗憾,因为auto_ptr优雅地解决了C++设计和编码中常见的问题,正确地使用它可以生成健壮的代码。本文阐述了如何正确运用auto_ptr来让你的代码更加安全——以及如何避免对auto_ptr危险但常见的误用,这些误用会引发间断性发作、难以诊断的bug。 <br /><br />1.为什么称它为“自动”指针? <br />auto_ptr只是众多可能的智能指针之一。许多商业库提供了更复杂的智能指针,用途广泛而令人惊
2010-09-11 00:04:00 429
转载 STL中的auto_ptr指针
<br />STL中的auto_ptr指针是为了解决内存泄漏问题而设计的。它严格限制了指针拥有对指向对象的所有权。auto_ptr指针和普通指针的差别在于对指向对象所有权的处理不同。auto_ptr指针是“传递”所有权,而普通指针是“共享”所有权。看下面例子: std::auto_ptr<int> p1(new int(24));std::auto_ptr<int> p2;int *q1 = new int(12);int *q2;p2 = p1;q2 = q1;经过两次赋值后,对于auto_ptr,p1为
2010-09-11 00:00:00 383
windows--com组建培训教程
2009-12-06
stl技术内幕c++编程简单而实用
2009-11-29
c++面向对象的程序设计
2009-11-29
基于WebGIS的电子地图设计与实现.kdh
2009-11-29
空间数据库实习(点-线-圆-折线-多边形绘制,颜色改变,线性线宽改变),拓扑关系判断
2009-11-29
VC设计模式之消息映射
2008-05-15
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人