自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

顺子的专栏

顺子的个人博客

  • 博客(77)
  • 资源 (3)
  • 收藏
  • 关注

转载 线程池的介绍及简单实现

转自:http://www.ibm.com/developerworks/cn/java/l-threadPool/简介: 服务器程序利用线程技术响应客户请求已经司空见惯,可能您认为这样做效率已经很高,但您有没有想过优化一下使用线程的方法。该文章将向您介绍服务器程序如何利用线程池来优化性能并提供一个简单的线程池实现。 线程池的技术背景在面向对象编程中,创建和销毁对象是很费时间的,因

2012-12-06 11:02:58 654

转载 Socket 阻塞模式和非阻塞模式(转)

转自:http://yjxandsp.blog.163.com/blog/static/163679712012411115039584/Windows套接字在阻塞和非阻塞两种模式下执行I/O操作。在阻塞模式下,在I/O操作完成前,执行的操作函数一直等候而不会立即返回,该函数所在的线程会阻塞在这里。相反,在非阻塞模式下,套接字函数会立即返回,而不管I/O是否完成,该函数所在的线程会继续运行

2012-11-20 11:36:26 854

转载 C++-inserter

转自:http://www.cnblogs.com/nkxyf/archive/2012/05/17/2506288.htmlC++的迭代器适配器中常用的有插入迭代器(Inser Iterator)、流迭代器(Stream Iterator)和逆向迭代器(Reverse Iterator)等!本文主要是介绍插入迭代器(Inser Iterator).下面介绍三种插入迭代器:1.Back

2012-09-04 15:54:46 11338

转载 泛型<编程>:volatile——多线程程序员最好的朋友volatile修正符及让你的编译器为你检查竞态条件

http://www.bccn.net/Article/kfyy/vc/jszl/200709/6188_2.html泛型:volatile——多线程程序员最好的朋友volatile修正符及让你的编译器为你检查竞态条件我不想破坏你的情绪,但这篇专栏针对多线程编程中最可怕的问题。如果说——正如前面一篇泛型所说的——写出意外安全(exception-safe)的程序很难,但写意外安全的程序

2012-02-19 23:07:59 881

转载 考虑可能的错误情况

简介有能力的程序员能够编写在未发生异常情况时正常运行的代码。使程序员出类拔萃的技能之一是能够编写在发生错误和出现“意外事件”时仍然能继续运行的代码。然而,术语“意外事件”会给人一种错误的印象。如果您的代码嵌入在一个广泛分布的成功产品中,那么您应该预料到代码可能发生的各种异常(且可怕)的情况。计算机将耗尽内存,文件未如您所愿地存在于应该存在的地方,从未失败的函数有可能在新版本的操作系统中失败,等等,

2011-06-25 16:44:00 862

转载 SQL:外连接on条件与where条件的区别

外连接on条件与where条件的区别

2011-01-08 15:44:00 1595

原创 Oracle内连接、外连接、右外连接、全外连接小总结

Oracle内连接、外连接、右外连接、全外连接

2011-01-08 15:39:00 1056

原创 获取线程中某个函数执行完成所获得的CPU时间量

windows核心编程--------获取线程中某个函数执行完成所获得的CPU时间量

2010-09-07 14:29:00 1263

转载 oracle 存储过程的基本语法及注意事项

oracle 存储过程

2010-09-03 16:48:00 481

转载 oracle merge into 用法详解

merge into

2010-09-03 16:26:00 625

原创 Oracle创建表空间、创建用户、授权、授权对象的访问以及查看权限

Oracle创建表空间、创建用户、授权、授权对象的访问以及查看权限

2010-09-02 14:02:00 2455 1

原创 CEdit控件实现滚动显示

CEdit控件实现滚动显示

2010-08-31 17:41:00 1728

转载 使用VisualSVN Server搭建SVN服务器

使用VisualSVN Server搭建SVN服务器

2010-08-24 10:51:00 7564 2

原创 SetWaitableTimer定时器的使用

SetWaitableTimer定时器的使用

2010-08-19 14:50:00 22958 2

转载 自己整理的OCI文档,抛砖引玉

OCI文档

2010-08-03 09:32:00 758

转载 用 C 语言编写 Windows 服务程序的五个步骤

编写 Windows 服务程序

2010-07-25 17:59:00 526

转载 Oracle的rownum原理和使用

Oracle rownum

2010-07-23 10:46:00 403

转载 浅谈C中的malloc和free

malloc和free

2010-07-20 17:20:00 490

转载 #pragma once和#pragma comment的含义

#pragma once #pragma comment

2010-06-18 13:58:00 561

转载 程序员应知——首先检查自己的问题

程序员应知

2010-06-12 10:08:00 602

原创 注意string中存汉字—— string wstring 转换

 这段程序在windows2003 和xp上运行结果,看看有什么不一样#include #include #include  using namespace std; void main(){ string str = "周末 大家 一起 出去玩"; cout str.erase(remove_if(str.begin(), str.end(),

2010-04-22 18:01:00 8342

转载 改变 CListCtrl、CHeaderCtrl 高度、字体、颜色和背景

用CListCtrl来显示数据比较方便,有时候我们需要标注某一列或某一个单元格的背景和字体颜色,或者需要改变一下行高和字体大小,CListCtrl要改变这些并不是很方便。本文将介绍如何派生一个类来改变CListCtrl及其表头的高度、字体大小、列背景颜色、单元格背景颜色、列字体颜色、单元格字体颜色 实现过程:1.表头修改  新建一个MFC类CHeaderCtrlCl,其基类为CHead

2010-04-21 16:25:00 14584 6

转载 可编辑子项的CListCtrl类

 大家都知道在MFC中通过给CListCtrl设置LVS_EDITLABELS属性,并且在程序中响应控件的LVN_ENDLABELEDIT消息可以修改列表控件每一行的第一项,也就是主项(Item)。 void CEditListCtrlSampleDlg::OnEndlabeleditList1(NMHDR* pNMHDR, LRESULT* pResult) { LV_DIS

2010-04-20 16:22:00 4714 2

转载 关于非模态对话框的销毁

转自:http://hi.baidu.com/listenprogram/blog/item/4902d5c62e005f1f9c163d86.html非模态对话框相对于模态对话框,他的创建和销毁过程和模态对话框有一定的区别先看一下MSDN的原文:When you implement a modeless dialog box, always override the OnCa

2010-04-14 10:41:00 574

转载 多线程编程之四——线程的同步

转自:http://www.vckbase.com/document/viewdoc/?id=1708八、线程的同步  虽然多线程能给我们带来好处,但是也有不少问题需要解决。例如,对于像磁盘驱动器这样独占性系统资源,由于线程可以执行进程的任何代码段,且线程的运行是由系统调度自动完成的,具有一定的不确定性,因此就有可能出现两个线程同时对磁盘驱动器进行操作,从而出现操作错误;又例如,对于银

2010-04-14 10:40:00 344

转载 C语言字符串函数大全

程序开头要声明#include  函数名: stpcpy功  能: 拷贝一个字符串到另一个用  法: char *stpcpy(char *destin, char *source);程序例: #include #include  int main(void){   char string[10];   char *str1 = "abcde

2010-04-13 18:03:00 356

转载 多线程编程之三——线程间通讯

转自:http://www.vckbase.com/document/viewdoc/?id=1707七、线程间通讯  一般而言,应用程序中的一个次要线程总是为主线程执行特定的任务,这样,主线程和次要线程间必定有一个信息传递的渠道,也就是主线程和次要线程间要进行通信。这种线程间的通信不但是难以避免的,而且在多线程编程中也是复杂和频繁的,下面将进行说明。   1. 使用全局变量进

2010-04-13 14:29:00 457

转载 多线程编程之二——MFC中的多线程开发

转自:http://www.vckbase.com/document/viewdoc/?id=1706五、MFC对多线程编程的支持  MFC中有两类线程,分别称之为工作者线程和用户界面线程。二者的主要区别在于工作者线程没有消息循环,而用户界面线程有自己的消息队列和消息循环。  工作者线程没有消息机制,通常用来执行后台计算和维护任务,如冗长的计算过程,打印机的后台打印等。用户界面线程一般用于处理

2010-04-13 10:44:00 375

原创 条款33:避免遮掩继承而来的名称

1)derived classes 内的名称会遮掩base classes内的名称,在public继承下从来没有人希望如此;2)为了让被遮掩的名称再见天日,可使用using声明式或转交函数(forwarding functions)。

2010-04-13 09:59:00 339

原创 条款32:确定你的public继承塑模出is-a关系

1) 应该宁可采取“在编译器拒绝企鹅飞行”的设计,而不是“只在运行期才能侦测他们”的设计;2) “public继承”意味着is-a。适用于base classes身上的每一件事情一定也适用于derived classes   身上,因为每一个derived class对象也都是一个base class对象。

2010-04-13 09:58:00 386

转载 多线程编程之一——问题提出

转自:http://www.vckbase.com/document/viewdoc/?id=1704一、问题的提出编写一个耗时的单线程程序:  新建一个基于对话框的应用程序SingleThread,在主对话框IDD_SINGLETHREAD_DIALOG添加一个按钮,ID为IDC_SLEEP_SIX_SECOND,标题为“延时6秒”,添加按钮的响应函数,代码如下:vo

2010-04-13 08:43:00 644

转载 Oracle中sqlPlus -oracle 输出变量

Sqlplus是oracle提供的一个工具程序,既可以在oracle服务器使用,也可以在oracle客户端使用。在windows下分两种,sqlplus.exe是命令行程序,sqlplusw.exe是窗体程序,通常我们在开始菜单中启动的是后者,两者的功能是一致的。Sqlplus是一个最常用的工具,具有很强的功能,主要有:1. 数据库的维护,如启动,关闭等,这一般在服务器上操作。2. 执

2010-03-29 17:45:00 20615

转载 ORACLE数据库的DDL和DCL语句及游标使用

我们将讨论各种用于访问ORACLE数据库的DDL和DCL语句。 查询     SELECT语句用于从数据库中查询数据,当在PL/SQL中使用SELECT语句时,要与INTO子句一起使用,查询的返回值被赋予INTO子句中的变量,变量的声明是在DELCARE中。SELECT             INTO语法如下:      SELECT [DISTICT|ALL]{*|column

2010-03-25 14:55:00 1651

转载 文件夹无法访问、拒绝访问的解决方法

原文来至:http://blog.csdn.net/dayeshisir/archive/2009/06/10/4257475.aspx  文件夹无法访问、拒绝访问的解决方法问:我的电脑突然很多文件夹都打不开.  如果要解决这个问题,首先必须关闭“简单文件共享”,然后获取文件夹的所有权。  第一步. 关闭“简单文件共享”: 《一》.   单击“开始”,然后单击“我的电脑”。 《二》.  

2010-02-21 22:37:00 853

原创 条款20:宁以pass-by-reference-to-const替换pass-by-value

   我们考虑以下class继承体系: class Person { public:  Person();  virtual ~Person();  ... private:  string name;  string address; }; class Student : public Person { public:  Student();  ~Student();  ... privat

2009-10-30 13:59:00 493

原创 条款17:以独立语句将newed对象置入智能指针

   假设我们有一个函数用来揭示处理程序的优先权,另外一个函数用来在某动态分配所得的Widget上进行某些带有优先权的处理:  int Priority();  void ProcessWidget(std::auto_ptr pw, int priority);  由于谨记“以对象管理资源”的智慧铭言,processWidget决定对其动态分配得来的Widget运用智能指针。  现在我们来调用这

2009-10-28 18:08:00 396

转载 __cdecl __stdcall __fastcall

1.如果函数func是__cdecl(默认调用方式),调用时情况如下     int   main()    ...{    //参数从右到左压栈    push   4    push   3    push   2    push   1    call   func    add   esp   0x10   //调用者恢复堆栈指针esp,4个参数的大小是0x10(4x4)    }  

2009-10-25 23:18:00 397

原创 条款12:复制对象时勿忘其每一个成分

当我们编写一个copying函数,请确保(1)复制所有local成员变量,(2)调用所有base class内的适当的copying函数下面我们来看一个例子怎样来具体实现子类的copying函数void logCall(const string &funcNmae){ cout }class Customer{public: Customer(const string &strname) :

2009-10-23 17:51:00 433

原创 条款11:在operator= 中处理“自我赋值”

我们来看看下面一段代码,class Widget中自己实现了拷贝构造函数class Bitmap{};class Widget{public: Widget () {  pb = new Bitmap; } Widget& operator=(const Widget &rhs);private: Bitmap *pb;};下面有三种方式对Widget& operator=(const

2009-10-23 17:49:00 741 1

原创 条款10:令operator= 返回一个reference to *this

 以前没有太注意在重载类的赋值操作时,为什么总是返回一个类类型的引用。下面我们来看看这是为什么:class CExample{public: CExample (const string &str, int v) : m_str(str), m_val(v) { } void operator=(const CExample &rhs); CExample& operator+=(const

2009-10-22 18:34:00 487

oracle 10g concepts

涉及了你需要知道的许多重要的Oracle概念

2009-02-26

高质量C++编程指南

一本学习编程规范的好书

2008-08-20

asp.net深入编程中文教程

asp.net深入编程中文教程,asp.net深入编程中文教程

2007-08-08

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除